我正在使用 Java 正则表达式。
哦,我真的很想念 Perl! Java正则表达式太难了。
无论如何,下面是我的代码。
oneLine = "{\"kind\":\"list\",\"items\"";
System.out.println(oneLine.matches("kind"));
我期望屏幕上显示“true”,但我只能看到“false”。
代码有什么问题吗?我该如何解决它?
先感谢您!!
String#matches() http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#matches%28java.lang.String%29采用正则表达式作为参数,其中锚点是隐式的。因此,您的正则表达式模式将从字符串的开头到结尾进行匹配。
因为你的字符串不是以"kind"
,所以它返回false
.
现在,根据您当前的问题,我认为您不需要使用regex
这里。只需使用String#contains() http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#contains%28java.lang.CharSequence%29方法会很好地工作:-
oneLine.contains("kind");
或者,如果您想使用matches
,然后构建正则表达式以匹配完整的字符串:-
oneLine.matches(".*kind.*");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)