如何匹配不属于单词的特定单词?
例如,我希望正则表达式检测三个“on”而不是“long”中的那个。
on long on abc on
当我使用(?: |^)the|on|of(?: |$)
时,它会检测到“long”中的“on”,这不是我想要的。
由于
答案 0 :(得分:1)
您可以使用此正则表达式:
/\bon\b/
\b
令牌匹配任何单词边界,它们是空格,字符串开头还是结尾等等......
所以这很直截了当:你需要单词on
,并被单词边界包围。
答案 1 :(得分:1)
这里有两件事要提及:
\b
所以,你需要
\b(?:the|on|of)\b
请参阅this regex demo。
您可以在图表上看到,单词边界现在与|
运算符列出的所有备选方案相关,因为它们都包含在non-capturing group中。