正则表达式是否可以匹配不包含在线上任何地方重复的相同单词的行?

时间:2012-12-15 02:30:44

标签: regex string

如何选择包含一个单词但不重复的行。 假设我正在寻找字符串word1

text word1 text #matched

text word1 text word1 #not match,导致word1重复。

word1 word1 word1#不匹配,正在重复

word1 #matched

文本文本文本文字word1 #matse

任何人都可以告诉我如何开发正则表达式以匹配这些线?

2 个答案:

答案 0 :(得分:1)

试试这个:

(\b\w+\b)(?!.*\1)

它使用负面向前看到对捕获的单词的反向引用

答案 1 :(得分:1)

您也可以尝试

 ^(?!.*(\bword1\b).*\b\1\b).*\bword1\b.*$
如果您想匹配任何字词,

此处word1可以替换为\w+

将其与multiline选项

一起使用