繁体   English   中英

Javascript 正则表达式否定回溯替代方案

[英]Javascript Regex negative lookbehind Alternative

看起来这不是关于后视的第一个问题,但我没有找到答案。

Javascript 没有(正|负)后视请求。

我需要一个与 *.scss 文件名匹配的正则表达式,但与 *.h.scss 之类的名称不匹配。 后视请求看起来像:

/(?<!(\.h))\.scss$/

我怎样才能在 javascript 中做到这一点? 我需要这个用于 webpack 规则“test”参数的正则表达式,所以只需要 javascript 正则表达式。

您可以使用

/^(?!.*\.h\.scss$).*\.scss$/

查看正则表达式演示

详情

  • ^ - 字符串锚点的开始
  • (?!.*\\.h\\.scss$) - 如果字符串以.h.scss结尾,则匹配失败的负前瞻
  • .* - 尽可能多的任何 0+ 个字符
  • \\.scss - 一个.scss子串在...
  • $ - 字符串的结尾。

您可以列出与.h不匹配的所有可能的子模式并构建一个替代:

/(?:[^.].|\.[^h]|^.?)\.scss$/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM