如何匹配正则表达式双下划线,但不匹配单下划线(__ 不是 _)



我正在为修改后的 BEM 制定一个样式 lint 规则,这本质上是说不允许使用单个下划线,但允许使用双下划线。

匹配案例:

  • foo__bar

不匹配的情况:

  • foo_bar

  • foo_bar__baz

我(理想情况下(不仅想要一个工作代码片段,还想要解释如何最好地解决这样的问题,仅使用 JavaScript RegEx

以下是 stylelint 的相关文档:https://stylelint.io/user-guide/rules/selector-class-pattern/

这是一个需要通过的测试套件:https://regex101.com/r/NjwOa3/3/tests

您可以尝试如下所示的正则表达式。

^[^_]*_{2,2}[^_]*$

或者尝试仅匹配双下划线。

_{2,2}

最新更新