我正在为修改后的 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}