我写了一个正则表达式,它应该检查字符串是否包含单词“ Page”以及其后的任何数字,这是代码:
public static void main(String[] args) {
String str1 = "12/15/14 7:01:44 Page 10 ";
String str2 = "12/15/14 7:01:44 Page 9 ";
System.out.println(containsPage(str2));
}
private static boolean containsPage(String str) {
String regExp = "^.*Page[ ]{1,}[0-9].$";
return Pattern.matches(regExp, str);
}
结果:str1:false,str2:true
你能帮我什么错吗?
将正则表达式更改为以下内容:
String regExp = "^.*Page[ ]{1,}[0-9]+.$";
以便与一个或多个数字匹配(因此[0-9]+
)。
您也不需要边界匹配器(^
和$
),因为Pattern#matches
它将匹配整个输入字符串。并且[ ]{1,}
等同于[ ]+
:
String regExp = ".*Page +[0-9]+.";
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句