JavaScript 正则表达式:Look Behind 断言的替代方案
在 JavaScript 中,Look Behind 断言 (?) 是不支持。此断言对于匹配前面有特定条件的模式很有用。但是,还有其他方法可以在 JavaScript 中实现相同的结果。
一种替代方法是使用 ^ 和 (?!) 模式。 ^ 符号匹配字符串的开头,而 (?!) 检查后面的表达式是否与当前位置不匹配。例如,以下正则表达式匹配以 .js 结尾的任何字符串(filename.js 除外):
^(?:(?!filename\.js$).)*\.js$
此正则表达式显式检查字符串的每个字符以确保它不满足后视条件.
ECMAScript 2018 中引入的另一个更简单的替代方案是使用以下正则表达式:
^(?!.*filename\.js$).*\.js$
此正则表达式使用 . 表达式来匹配任何字符串,并且 (?!< ;表达式>) 断言来检查以下表达式 (.filename.js$) 是否与当前位置不匹配。这种替代方法比第一种方法更有效,因为它不需要检查每个字符的条件。
以上是如何在 JavaScript 中实现 Look Behind 断言?的详细内容。更多信息请关注PHP中文网其他相关文章!