我的一个伙伴目前正在使用Java中的JpCap进行修补,我们发现了一些有关Java 中正则表达式的有趣(可能是?)问题.
仅捕获HTTP流量并随后进行分析.为此他正在使用这样的模式:
Pattern p = Pattern.compile("(www)");
Run Code Online (Sandbox Code Playgroud)
但是我们两个人都无法找到:为什么上述模式根本不会产生匹配,而以下情况如下:
Pattern p = Pattern.compile(".*(www).*");
Run Code Online (Sandbox Code Playgroud)
我可以看到,这些都应该是相同的,不是吗?我没有那么多关于正则表达式的经验,所以对这个问题可能有一个非常简单的答案:)
哦,没关系,我发现我们都有一点API盲;)
我们正在使用
Matcher.matches()
Run Code Online (Sandbox Code Playgroud)
它将模式与整个字符串相匹配,而不是
Matcher.find()
Run Code Online (Sandbox Code Playgroud)
它试图在给定字符串中的任何位置找到模式.
谢谢你的答案!:)
| 归档时间: |
|
| 查看次数: |
769 次 |
| 最近记录: |