Nic*_*ner 2 java regex string arraylist negative-lookahead
match.matches()返回false.这很奇怪,因为如果我把这个正则表达式和测试字符串带到rubular.com,则会显示两个匹配项.我究竟做错了什么?
Pattern regex = Pattern.compile("FTW(((?!ODP).)+)ODP");
Matcher match = regex.matcher("ZZZMMMJJJOOFTWZMJZMJODPZZZMMMJJJOOOFTWMZJOMZJOMZJOODPZZZMMMJJJOO");
if (match.matches()) {
System.out.println("match found");
}
else {
System.out.println("match not found");
}
Run Code Online (Sandbox Code Playgroud)
该Matcher.matches()方法尝试将整个字符串与模式匹配.将您的模式更改为:
".*FTW(((?!ODP).)+)ODP.*"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4618 次 |
| 最近记录: |