Atom RegExp Search+Replace: символ точного совпадения+буквенно-цифровой с точкой с запятой в конце ИЛИ для классов

Почему это важно?

Я в основном конвертирую все цвета в веб-приложении в цветовые переменные. Теперь, когда у меня есть список всех цветов, я заменяю близкие совпадения цветов на имя переменной основного цвета, чтобы объединить палитру цветовых кодов.

Попытка?

Я пытаюсь выяснить, как бы вы написали регулярное выражение для точного совпадения строки. Поиск и замена регулярных выражений предназначены для ide Atom, где я могу искать определенные классы без переопределения переменных; например $color_base1 и $color_base11. К сожалению, сопоставление слов по умолчанию не будет работать в этом сценарии из-за предыдущего примера.

Кроме того, конец переменной может заканчиваться точкой с запятой или нет; поэтому оператор or заканчивается совпадением. Цель состоит в том, чтобы иметь точное совпадение regExp для имен переменных, которые являются "$color_base1" & "$color_base1;"

Что у меня есть на данный момент? Я знаю, что это плохо.. Я учусь. :(

Я был бы очень признателен за любые рекомендации и советы о том, как этого достичь,

 ^\W$\bcolor\W__\blayoutBody

person WIll    schedule 20.08.2015    source источник
comment
Может \$color_\w+;??   -  person Wiktor Stribiżew    schedule 21.08.2015
comment
при использовании этого регулярного выражения я получаю такие результаты, как: $color_fontBase, $color__brand, $colo_fontBase12. Мне нужно только, чтобы он возвращал точное совпадение с $color_base. Спасибо :)   -  person WIll    schedule 21.08.2015
comment
Вы имеете в виду \$color_base\d+;??   -  person Wiktor Stribiżew    schedule 21.08.2015
comment
это вообще ничего не тянет к сожалению   -  person WIll    schedule 21.08.2015
comment
Спасибо за вашу помощь :) Вы удивительный мой друг!   -  person WIll    schedule 21.08.2015
comment
Вы благодарите меня? :) Я думаю, вам хорошо помог Эзиг. На самом деле вам нужно регулярное выражение \$color_base1\b. ИЛИ \$color_base1(?!\d)   -  person Wiktor Stribiżew    schedule 21.08.2015


Ответы (1)


\$color_base1(;|\b)

https://regex101.com/r/bN4mA1/2

Мне было немного неясно, хотите ли вы сопоставить «$ color_base11» или нет. Если вы это сделаете, измените регулярное выражение на это:

\$color_base\d+;?

person ezig    schedule 21.08.2015
comment
Ты мой герой!! :) Ваш первый ответ правильный; Я не хотел соответствовать $color_base11 - person WIll; 21.08.2015