【发布时间】:2017-10-21 10:02:23
【问题描述】:
我需要一个正则表达式模式来匹配遵循此结构的驼峰式 BEM 类:
BlockName_elementName-modifierName
我创建了这个正则表达式来完成这项工作:
([A-Z][a-z0-9]+)+(\_[a-z0-9]+[A-Z0-9]?[a-z0-9]*)?(\-[a-z0-9]+[A-Z0-9]?[a-z0-9]*)?
应该匹配的字符串示例:
Block
BlockName
BlockNameLonger
BlockName93
BlockName_element
BlockName_elementName
BlockName_elementNameLonger
BlockName_4elementName
BlockName_elementName-modifier
BlockName_elementName-modifierName
BlockName_elementName-modifierNameLonger
BlockName_elementName-modifier567Name
目前它匹配除“更长”字符串之外的所有字符串。我无法弄清楚如何正确分组以匹配任何长度的骆驼案例组。有人可以帮忙吗?
在这里查看演示:http://regexr.com/3h0sf
【问题讨论】:
-
您的正则表达式似乎对我有用。你能包括一些负面案例吗?
-