Создание Javascript RegEx для проверки дефисов BEM и camelCase
У меня есть это регулярное выражение для обнаружения дефиса BEM в файлах CSS
^([\.\%]?[a-z]*[-]?[a-z0-9\-]*)(\.[a-z0-9\-]*)?(__[a-z0-9]*[-]?[a-z0-9\-]*)?(--[a-z0-9]*[-]?[a-z0-9\-]*)?(\:[a-z]*)*$
но я также хотел бы, чтобы он обнаружил CamelCase, а также...
Мне нужно сделать это, потому что мы переходим от дефиса BEM к 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
Любая помощь будет принята с благодарностью...
1 ответ
Для проверки строки в любой схеме именования БЭМ вы можете использовать bem-naming