匹配整个单词或操作员的注重表达式 我正在尝试匹配某些行的完整单词,想知道如何在Regex中使用或 如果我只使用一个关键字,则可以正常工作。 例子, REGEX =“。*\ b” +“ keyword1” +“ \ b。*”; 字符串正则...

问题描述 投票:0回答:2

您想要:

String regex = ".*\\b(KEYWORD1|KEYWORD2|KEYWORD3)\\b.*";
java regex
2个回答
10
投票

.*\bKEYWORD1 | KEYWORD2 | KEYWORD3\b.*

但是您想要:

.*\b ( KEYWORD1 | KEYWORD2 | KEYWORD3 ) \b.*

这很酷
tool

可以帮助您分析以下粗略并找到这样的错误。

管道字符

|可以用作或运算符,在正则是交替的。 要使此功能在示例中正常工作,您只需要在交替的范围内创建一个组即可确保您在感兴趣的关键字上执行或仅执行或仅在以下操作。

String regex = ".*\\b(KEYWORD1|KEYWORD2|KEYWORD3)\\b.*";

3
投票
您目前的意思是

.*\\bKEYWORD1 OR KEYWORD2 OR KEYWORD3\\b.*

我知道这个问题已经很久以前解决了,但我想为不同的情况添加另一种可能性。

对于那些(像我一样)面对挑战的人(不仅仅是一个单词)在Regex或陈述中,用“ start”和“ end” thetrick.
    

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.