我无法找出为什么我的正则表达式在使用 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/