我的起始字符串是
alpha < beta < gamma < delta < epsi
我想捕获单个 token alpha、beta、...
在这样的表达式中,运算符也可能被引用为“lt”、“gt”,到目前为止我已经应用了这个正则表达式。
/[^(\<\=?|\>\=?|==\ )|^(eq|lt|gt)]/g
此表达式不会将 'eq'、'lt'、'gt' 检测为有界词,而仅检测 'e'、'q'、'l'、't'、'g'。 我缺少什么?
最佳答案
只需在您提到的边界上进行拆分,并注意仅使用字符类来单独排列每个字符。如果要对字符组应用 OR,则必须使用捕获组 (....)
或非捕获组 (?:...)
var s = 'alpha < beta < gamma < delta < epsi'
alert(s.split(/\s*(?:\b(?:eq|lt|gt)\b|[<>]=?|==)\s*/))
关于Javascript - 反转正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33344951/