我有下面的正则表达式,我正在用Pattern类编译它。
\bIntegrated\s+Health\s+System\s+\(IHS\)\b
为什么它与这个字符串不匹配?
“测试模式案例集成健康系统(IHS)。”
如果我尝试\bpattern\b,它似乎起作用了,但对于上面的短语,它不起作用。我对模式中的括号进行了转义,所以不确定它为什么不起作用。如果我去掉模式的括号部分,它确实匹配,但我希望匹配整个模式。
发布于 2010-01-05 23:26:57
1)转义括号,否则它们将捕获并分组元字符,而不是文字括号\( \)
2)删除最后一个\b不能在文字后面使用单词边界,因为)不被视为单词的一部分。
\bIntegrated\s+Health\s+System\s+\(IHS\)\W
发布于 2010-01-05 23:24:43
你有(IHS) -一组-你想要的地方(IHS)作为文字括号。
发布于 2010-01-05 23:24:57
您需要对括号进行转义
\bIntegrated\s+Health\s+System\s+\(IHS\)\b
圆括号分隔捕获组。要匹配一组文字括号,可以像下面这样对它们进行转义:\( \)
https://stackoverflow.com/questions/2009909
复制相似问题