如何将负向后视转换为与ES5兼容的表达式

时间:2019-05-20 12:25:43

标签: javascript regex regex-lookarounds

我制作了一个可以在我的代码中正常运行的RegExp,但仅与ES2018兼容,因为它使用了负向后看。库正在使用RegExp函数,因此我无法更改RegExp的使用方式。

我尝试在开始时放置一个非捕获组,以查找“非”字符,但是在测试时,它的工作原理并不相同。

/((?<![\^+-])[0-9]+)/g

在运行我的测试套件时,像/(?:[^^+-])([0-9]+)/g这样的正则表达式由于包含前面的字符而无法通过测试。

1 个答案:

答案 0 :(得分:0)

后面的负向后匹配在开头,因此:

/(?:[^^+-]|^)([0-9]+)/g