我的起始字符串是
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; 。 我错过了什么?
答案 0 :(得分:3)
只需对你提到的边界进行拆分,并注意只使用字符类来分别对每个字符进行分配。如果您想对字符组应用OR,则必须使用捕获组(....)
或非捕获组(?:...)
var s = 'alpha < beta < gamma < delta < epsi'
alert(s.split(/\s*(?:\b(?:eq|lt|gt)\b|[<>]=?|==)\s*/))
&#13;