Создание 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

Другие вопросы по тегам