首页 > 解决方案 > 正则表达式与逻辑 OR 不匹配

问题描述

需要匹配不tss-tss. 尝试了多种组合,但没有积极的结果。

^(((?!(tss)).*)|(?!tss-).+)

标签: regex

解决方案


要对输入字符串应用两个否定的前瞻检查,您只需将它们链接到^锚点之后:

^(?!tss$)(?!tss-).*

在这种情况下,逻辑关系是 AND:

  • ^- 字符串的开始
  • (?!tss$)- 字符串不能等于tss
  • (?!tss-)- 字符串不能以tss-
  • .*- 匹配其余部分。

推荐阅读