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

时间:2019-06-19 16:29:16

标签: javascript node.js stylelint

我正在为改良的BEM设计stylelint规则,这实际上是在说不允许使用单个下划线,但是允许使用双下划线。

匹配情况:

  • 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

1 个答案:

答案 0 :(得分:3)

您可以尝试以下正则表达式。

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

或尝试此操作仅匹配双下划线。

_{2,2}