如果在与另一个单词的特定距离处找到单词,则返回匹配的正则表达式

时间:2015-04-22 19:25:57

标签: regex

我需要构建一个将返回true或false的正则表达式,指定的单词在同一个句子中,带有“County”或“Counties”字样,并且在这些单词之前或之后出现并且不超过与“郡”或“县”分开10个字或100个字符。

例如:

  

县测试1测试2测试3测试4

  

测试test1 test2 test3 word test4 test5县test6 test7

应该返回true,而

  县p test1 test2 test3 test4 test5 test6 test7 test8 test9 test test8 test3 test4 word test5 test7

应该返回false

这是我得到的:

\bWord\W+(?:\w+\W+){0,10}?Counties\b

我添加了县,但只有当县和/或县在单词后面时它才有效:

\bWord\W+(?:\w+\W+){0,10}?(Counties|County)\b

任何人都可以指出我正确的方向吗?

1 个答案:

答案 0 :(得分:1)

这可以解决您的问题吗?试过regex101

Word\s\W*(?:(?!Word)\w+\W*){0,10}?(?:Counties|County)|(?:Counties|County)\s\W*(?:\w+\W*){0,10}?Word