正则表达式与列表不完全匹配

时间:2015-11-27 15:44:28

标签: javascript regex

我需要为&#34创建html5输入模式属性的正则表达式;不是以下项目之一"。

如何制作

  • AB
  • ABA
  • BA

进入一个模式,匹配任何不完全这些单词中的任何一个。

所以例如我想要的是

  • ab - 不匹配
  • abab - 匹配
  • bab - 匹配
  • b - 匹配
  • ab a - 匹配

换句话说,我希望正则表达式相当于(在javascript中)

! ['ab', 'aba', 'ba'].some(x => x === term)

1 个答案:

答案 0 :(得分:2)

你可以使用带有锚点的负向前瞻:

^(?!(?:(aba|ab|ba)$)).*

RegEx Demo

如果输入包含确切的字词(?!(?:(aba|ab|ba)$))ababa

,则

ba为否定匹配将导致匹配失败