[英]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.