Javascript - 反转正则表达式

标签 javascript regex inversion

我的起始字符串是

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/

相关文章:

javascript - 如何配置 Typescript 使其 "knows about"我的 SystemJS 路径?

Javascript 提升代码片段

javascript - 如何在 iframe 中强制 xml-outlined/pretty 打印?

C++ AMP 适用于求逆、QR 分解的矩阵库

javascript - DC.js 范围/焦点图表行为不正确

javascript - 正则表达式删除第一个字母,如果它是 k 和最后一个下划线之后的所有内容(包括下划线)

regex - 正则表达式匹配除最后一个空格外带有空格的连续单词序列

java - 匹配包含重复字符的单词

c++ - 计算变化数组中的预期反转次数

python - 计算合并排序中的反转次数