匹配含未知词汇句子的正则表达式问题求助
正则表达式修正方案
你的问题出在负前瞻的范围错误:原正则里的(?!.*(no|never|not))会检查整个字符串,但目标文本本身包含"not",导致负前瞻条件不满足,匹配失败。
修正后的正则表达式:
The (?:(?!no|never|not)[\w\s]){1,50} has not fully complied with its obligations under the Prior Undertaking
修正说明:
- 把负前瞻
(?!no|never|not)嵌入到匹配"The "后内容的循环里,确保只有"The "到" has not..."之间的文本不包含no/never/not (?:...)是非捕获组,用于循环匹配每个字符[\w\s]匹配字母、数字、下划线和空格(对应你例子里的城市/学区名称){1,50}控制名称部分的长度,避免过度匹配
这个正则可以正确匹配你列出的三个目标字符串。
内容的提问来源于stack exchange,提问作者Pepa
相关产品推荐
相关产品推荐

