愿所有的美好和期待都能如约而至

JavaScript中的负向回溯等效项

发布时间:  来源:互联网  作者:匿名  标签:error Negative lookbehind equivalent in JavaScript exception IT资讯 javascript neg  热度:37.5℃

本文介绍了JavaScript中的负向回溯等效项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有没有办法在JavaScript正则表达式中实现negative lookbehind的等价物?我需要匹配不以特定字符集开头的字符串。

如果在字符串的开头找到匹配的部分,我似乎找不到一个执行此操作而不失败的正则表达式。负面表情似乎是唯一的答案,但JavaScript没有答案。

这是我想要使用的正则表达式,但它不是:

(?<!([abcdefg]))m

因此它将匹配‘Jim’或‘m’中的‘m’,而不是‘jam’

推荐答案

Lookbehind Assertions在2018年进入ECMAScript specification。

正向回看用法:

console.log(
  "$9.99  €8.47".match(/(?<=$)d+.d*/) // Matches "9.99"
);

负向回溯用法:

console.log(
  "$9.99  €8.47".match(/(?<!$)d+.d*/) // Matches "8.47"
);

平台支持:

  • ✔️V8
    • ✔️Google Chrome 62.0
    • ✔️Microsoft Edge79.0
    • ✔️Node.js 6.0 behind a flag and 9.0 without a flag
    • ✔️Deno(所有版本)
  • ✔️SpiderMonkey
    • ✔️Mozilla Firefox 78.0

勇敢去编程!

勇敢的热爱编程,未来的你一定会大放异彩,未来的生活一定会因编程更好!

TOP