Javascript - 反转正则表达式

时间:2015-10-26 11:44:50

标签: javascript regex inversion

我的起始字符串是

alpha < beta < gamma < delta < epsi

我想捕获单个令牌alpha,beta,......

在一个这样的表达中,可能还有可能将运营商引用为&lt;&lt;&#39;&#39;&#39;&#39;&#39;到目前为止我已经应用了这个正则表达式。

/[^(\<\=?|\>\=?|==\ )|^(eq|lt|gt)]/g

此表达式未检测到&#39; eq&#39;&#39; lt&#39;,&#39;&#39;作为有限的词语,但只是&#39;&#39; q&#39;,&#39; l&#39;,&#39; t&#39;,&#39; g&#39; 。 我错过了什么?

1 个答案:

答案 0 :(得分:3)

只需对你提到的边界进行拆分,并注意只使用字符类来分别对每个字符进行分配。如果您想对字符组应用OR,则必须使用捕获组(....)或非捕获组(?:...)

&#13;
&#13;
var s = 'alpha < beta < gamma < delta < epsi'
alert(s.split(/\s*(?:\b(?:eq|lt|gt)\b|[<>]=?|==)\s*/))
&#13;
&#13;
&#13;