当前位置:  开发笔记 > 编程语言 > 正文

Java RegExp问题 - .*(www).*vs.(www)

如何解决《JavaRegExp问题-.*(www).*vs.(www)》经验,为你挑选了2个好方法。

我的一个伙伴目前正在使用Java中的JpCap进行修补,我们发现了一些有关Java 中正则表达式的有趣(可能是?)问题.

仅捕获HTTP流量并随后进行分析.为此他正在使用这样的模式:

Pattern p = Pattern.compile("(www)");

但是我们两个人都无法找到:为什么上述模式根本不会产生匹配,而以下情况如下:

Pattern p = Pattern.compile(".*(www).*");

我可以看到,这些都应该是相同的,不是吗?我没有那么多关于正则表达式的经验,所以对这个问题可能有一个非常简单的答案:)



1> jjnguy..:

您的第一个模式只接受字符串'www'.

第二个模式接受任何位于其中的"www"字符串.

本网站提供了有关Java正则表达式的更多信息.



2> AdrianoKF..:

哦,没关系,我发现我们都有一点API盲;)

我们正在使用

Matcher.matches()

它将模式与整个字符串相匹配,而不是

Matcher.find()

它试图在给定字符串中的任何位置找到模式.

谢谢你的答案!:)

推荐阅读
和谐啄木鸟
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有