java - 为什么这个正则表达式不匹配?

标签 java regex

我无法找出为什么我的正则表达式在使用 java 的 String.matches 方法时不匹配一行 - 它确实匹配使用在线正则表达式测试器。

这里是 Java 代码:

line.trim().replaceAll(" +", " ").matches("(const )?[a-zA-Z0-9\\*]*\\ [a-zA-Z0-9\\*]*[,|)]");

以及应该匹配的行:

bool fLoad)   // somecomment

有人知道为什么会这样吗?

最佳答案

matches() 意味着它应该完全匹配,即整个字符串符合 RE。你的 RE 不允许在 ')' 之后有任何内容。尝试使用 find() 而不是 matches()

关于java - 为什么这个正则表达式不匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6598499/

相关文章:

javascript删除数字输入中的重复小数点

java - 如何使用 Java 正则表达式分割字符串,并在结果列表中包含可变宽度分隔符

java - 转换 JSON 数据以匹配新的 Java 模型

java - 如何判断 JAXB 元素 <MyRequest/> 是否为 "empty"

java - 将具有随机行数的字符串保存到单行数组JAVA

java - 去除所有长度小于或大于 6 的数字

java - 如何从mapreduce的文本文件中用(|)分割字符串?

Java : String to Date conversion Getting Unparseable Exception

c# - 将通配符模式转换为正则表达式

regex - 如何以未扩展的形式打印扩展的正则表达式?