You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写匹配不含指定单词段落的正则表达式(规避换行符)

解决方案

要实现匹配不含独立单词cat(包括换行前后的独立cat)的段落,可使用结合负向预查与单行模式的正则表达式:

(?s)(?i)\A(?!.*?(?<=\\b|\\n)cat\\b).*\z

正则各部分说明

  • (?s):启用单行模式,让.可以匹配换行符,确保能检查整个段落的所有内容
  • (?i):忽略大小写,和原匹配规则保持一致
  • \A 和 \z:分别匹配整个字符串的开头和结尾,保证我们是对整个段落做判断
  • (?!.*?(?<=\\b|\\n)cat\\b):核心的负向预查逻辑,确保整个段落中不存在任何符合原规则的独立cat单词。.*?是惰性匹配,会遍历段落所有位置检查是否有违规的cat
  • .*:匹配整个段落内容(只有当预查确认没有违规cat时才会执行这一步)

符合预期规则验证

  • 含\ncat\n的内容:预查会检测到独立的cat,正则不匹配,符合要求
  • 含cat的内容:预查检测到独立cat,正则不匹配,符合要求
  • 含cats的内容:原规则不匹配cats,预查无结果,正则匹配整个段落,符合要求
  • 含\ncatss\n的内容:同理,预查无结果,正则匹配,符合要求

内容的提问来源于stack exchange,提问作者Bar Ezra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 19:05:24