我有这个正则表达式来检测 CSS 文件中的连字符 BEM
^([\.\%]?[a-z]*[-]?[a-z0-9\-]*)(\.[a-z0-9\-]*)?(__[a-z0-9]*[-]?[a-z0-9\-]*)?(--[a-z0-9]*[-]?[a-z0-9\-]*)?(\:[a-z]*)*$
但我也希望它也能检测到 CamelCase ......
我需要这样做,因为我们正在从 hyphenatedBEM 过渡到 camelCase
简而言之,我如何编写一个正则表达式来检查
^([\.\%]?[a-z]*[-]?[a-z0-9\-]*)(\.[a-z0-9\-]*)?(__[a-z0-9]*[-]?[a-z0-9\-]*)?(--[a-z0-9]*[-]?[a-z0-9\-]*)?(\:[a-z]*)*$
or
\.[a-z][a-z0-9]*[A-Z][a-z0-9]*[A-Z][A-Z0-9]*[a-z][A-Za-z0-9]*
如果两者都没有验证,那么它会出错/返回 false
我会像下面这样针对 CSS 进行验证,并且两者都应该验证得很好......
.error__404 { ...SOME CSS CODE... } --> this is correct
.error__404--red { ...SOME CSS CODE... } --> this is correct
.userImage { ...SOME CSS CODE...} --> this is correct
.this-is-not-correct { ...SOME CSS CODE...} --> this is not correct
任何帮助将不胜感激...