首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Regex测试人员发现所有4个匹配,而Java代码只找到3个匹配

Regex测试人员发现所有4个匹配,而Java代码只找到3个匹配
EN

Stack Overflow用户
提问于 2019-08-20 17:38:16
回答 1查看 66关注 0票数 0

我使用过这个Java专用正则测试器和雷吉斯101测试器,它们都可以找到新行的所有4个匹配项,如下面的示例字符串中所示。字符串数据来自UTF-8文件.

代码语言:javascript
运行
复制
#1

#2

#3

#4

但是,在Android中运行下面的#2, #3, #4代码时,只有是正匹配的。编辑:我发现在#1上方放置空行使其匹配,这就解释了为什么所有其他人都有空行。

Java代码:

代码语言:javascript
运行
复制
Pattern pattern = Pattern.compile("^#.*", Pattern.CASE_INSENSITIVE | 
Pattern.MULTILINE);
    Matcher matcher = pattern.matcher(text);

    while (matcher.find()) {
        for (int i = 0; i <= matcher.groupCount(); i++) {
            String foundWord = matcher.group(i);
       }
    } 

就像matcher.find()完全跳过了第一行

EN

回答 1

Stack Overflow用户

发布于 2019-08-20 17:45:52

也许您在#1或另一个字符之前有一个空空间。您的代码具有所需的输出

代码语言:javascript
运行
复制
public static void main(String[] args) {
    String text = "#1 \n" +
            "#2\n" +
            "#3\n" +
            "#4\n" +
            "enter code here";

    Pattern pattern = Pattern.compile("^#.*", Pattern.CASE_INSENSITIVE |  Pattern.MULTILINE);
    Matcher matcher = pattern.matcher(text);

    while (matcher.find()) {
        System.out.println(matcher.group());
    }
}

输出

代码语言:javascript
运行
复制
#1 
#2
#3
#4
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57578933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档