我需要构建一个将返回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
任何人都可以指出我正确的方向吗?
答案 0 :(得分:1)
这可以解决您的问题吗?试过regex101
Word\s\W*(?:(?!Word)\w+\W*){0,10}?(?:Counties|County)|(?:Counties|County)\s\W*(?:\w+\W*){0,10}?Word