javascript正则表达式不支持?<!和?!吗?
/(?<!j)\d+/.test('j123')
报语法错误
/\d+(?!j)/.test('123j')
返回true
javascript正则表达式不支持?<!和?!吗?
/(?<!j)\d+/.test('j123')
报语法错误
/\d+(?!j)/.test('123j')
返回true
Lookbehind Assertions 在 ES2019 才受支持,现在(2018年9月)已经进入 Stage 4,明年就可以用了。
TC39 提案:https://github.com/tc39/propo...
10 回答11k 阅读
6 回答2.9k 阅读
5 回答4.7k 阅读✓ 已解决
4 回答3k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
参见:http://www.cnblogs.com/Austin...
Javascript不支持负向零宽断言,只支持正向零宽断言。
也就是说,Javascript不支持
(?<...)
,支持(?!...)
。/\d+(?!j)/.test('123j')
返回true,是因为,d+可以匹配1,也可以匹配2,也可以匹配3,也可以匹配12、23或者123。