JavaScript 中负向后查找的替代正则表达式
在 JavaScript 中,不直接支持负向后查找断言。但是,有一些方法可以实现类似的功能。
考虑以下正则表达式:
(?此正则表达式匹配以 .js 结尾的字符串除了 filename.js。在支持后向查找的正则表达式实现中,此表达式将按预期工作。
使用负向先行的替代方法
由于 JavaScript 没有后向查找,我们可以使用负向先行代替:
^(?:(?!filename\.js$).)*\.js$此表达式显式检查字符串的每个字符,以确保否定后向断言 (? !filename\.js$) 加上剩余的正则表达式将不匹配。如果不匹配,则允许字符匹配。
简化版本
对于 ECMAScript 2018 之前的 JavaScript 版本,可以使用以下简化版本:
^(?!.*filename\.js$).*\.js$此表达式断言字符串不包含 filename.js 并以 .js 结尾。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3