您想要:
String regex = ".*\\b(KEYWORD1|KEYWORD2|KEYWORD3)\\b.*";
.*\bKEYWORD1
|
KEYWORD2
|
KEYWORD3\b.*
但是您想要:
.*\b
(
KEYWORD1
|
KEYWORD2
|
KEYWORD3
)
\b.*
这很酷tool
可以帮助您分析以下粗略并找到这样的错误。
管道字符|
可以用作或运算符,在正则是交替的。
要使此功能在示例中正常工作,您只需要在交替的范围内创建一个组即可确保您在感兴趣的关键字上执行或仅执行或仅在以下操作。
String regex = ".*\\b(KEYWORD1|KEYWORD2|KEYWORD3)\\b.*";
.*\\bKEYWORD1 OR KEYWORD2 OR KEYWORD3\\b.*
。
我知道这个问题已经很久以前解决了,但我想为不同的情况添加另一种可能性。
对于那些(像我一样)面对挑战的人(不仅仅是一个单词)在Regex或陈述中,用“ start”和“ end” thetrick.