Java Regex 不匹配,有什么解释吗?

标签 java regex

正则表达式 String :

"[Ff][uU][Nn][Cc] " 

匹配输入:

"fUnC " 

但不是:

"func across( a, b )"

我不明白为什么...

我在这里测试我的表达式: http://www.regexplanet.com/simple/index.html

我发现我(愚蠢地)需要我的正则表达式是 "[Ff][uU][Nn][Cc] .*" 才能匹配。

已解决:如果您正在寻找相当于子匹配的内容,请不要使用便捷方法 Pattern.Matches(regex, input)。您应该改用 Matcher.find() 方法。

最佳答案

当我使用您链接到的正则表达式测试器时,我发现您的正则表达式适用于 find(),但不适用于 matches()。这正是我所期望的——find() 只是在目标字符串中查找正则表达式命中,而 matches() 总是尝试匹配整个字符串。

关于Java Regex 不匹配,有什么解释吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5774258/

相关文章:

regex - 从 Xpath 表达式中删除命名空间

sockets - 使用 ServerSocket 绑定(bind)已使用的端口时,Java 7 不会抛出 BindException

java - Recyclerview 适配器不刷新

java - Proguard 提示外部 JAR 中缺少类。如何正确解决这个问题?

mysql - MYSQL 中的 REGEX 不起作用?

PHP:如何获取 HTML 元素的正确结束标记

java - 无法在独立 Tomcat 8.5 上启动 Spring Boot 1.5.1 应用程序

java - 如何部署一个简单的Drools应用程序?

java - ReplaceAll 正则表达式匹配所有模式,无需特定字符串

regex - 是否可以使用raku regex进行 bool 断言?