0

我有这个正则表达式来检测 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

任何帮助将不胜感激...

4

0 回答 0