繁体   English   中英

正则表达式不匹配

[英]Regular expression does not match

我需要为字符串定义一个模式,并在java eclipse环境中的句子中找到该模式的所有匹配项。 这在我的代码中:

public static final String EXAMPLE_TEST = "MD_pos ";
public static final String REGEX ="(RB_pos)?(MD_pos|VB_pos|VBD_pos|VBP_pos|VBZ_pos|VBG_pos|VBN_pos) (RP_pos)? (RB_pos)? ";

public void PatMat() {

    Pattern pattern = Pattern.compile(REGEX);
    Matcher matcher = pattern.matcher(EXAMPLE_TEST);

    int count = 0;
    while(matcher.find()) {
        count++;
        System.out.println("found: " + count + " : "
            + matcher.start() + " - " + matcher.end());
        System.out.println("found: " + matcher.group());  
    }
}

零件有? 登录模式是可选的,因此应匹配MD_pos 但是每次我调用此方法时,控制台中都没有结果。

您的REGEX包含三个非可选的空格,这些空格在您尝试匹配的示例字符串中不存在。

您忘记了在COMMENTS模式下进行编译,因此忽略了空格。

Pattern pattern = Pattern.compile(REGEX, Pattern.COMMENTS);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM