如何匹配字符'<'后面没有('a'或'em'或'strong')?

Kyl*_*yle 21 javascript regex

如何使正则表达式匹配<未跟随(aemstrong)的字符

所以<hello并且<string会匹配,但<strong不会.

And*_*are 43

试试这个:

<(?!a|em|strong)
Run Code Online (Sandbox Code Playgroud)

  • 为了防止有人感兴趣,"?!"会发起负面的预测.我在这里找到了很好的概述:http://www.rexegg.com/regex-lookarounds.html (2认同)

cle*_*tus 8

你使用负向前瞻,最简单的形式是(对于这个问题):

<(?!a|em|strong)
Run Code Online (Sandbox Code Playgroud)

一个问题是它会忽略<applet>.处理这种情况的方法是使用\b,这是一个零宽度表达式(意味着它不捕获任何输入),将一个单词与非单词或非单词到单词的过渡相匹配.单词字符是[0-9a-zA-Z_].所以:

<(?!(a|em|strong)\b)
Run Code Online (Sandbox Code Playgroud)