Важно: используйте ( )скобки в строке поиска
Хотя предыдущий ответ верен, важно подчеркнуть это! Все совпадающие сегменты в строке поиска, которые вы хотите использовать в замещающей строке, должны быть заключены в ( )скобки , в противном случае эти совпадающие сегменты не будут доступны для определенных переменных, таких как $1, $2или \1, \2и т. Д.
Например, мы хотим заменить «em» на «px», но сохранить цифровые значения:
margin: 10em; /* Expected: margin: 10px */
margin: 2em; /* Expected: margin: 2px */
- Строка замены:
margin: $1pxилиmargin: \1px
- Строка поиска (ПРАВИЛЬНО):
margin: ([0-9]*)em// с круглыми скобками
- Строка поиска (НЕПРАВИЛЬНО):
margin: [0-9]*em
ПРИМЕР ПРАВИЛЬНОГО СЛУЧАЯ: Использование margin: ([0-9]*)emстроки поиска (с круглыми скобками). Заключите желаемый совпадающий сегмент (например, $1или \1) в ( )круглые скобки следующим образом:
- Найти:
margin: ([0-9]*)em(с круглыми скобками)
- Заменить на:
margin: $1pxилиmargin: \1px
- Результат:
margin: 10px;
margin: 2px;
НЕПРАВИЛЬНЫЙ ПРИМЕР ПРИМЕРА: Использование margin: [0-9]*emстроки поиска (без скобок). Следующий шаблон регулярного выражения будет соответствовать желаемым строкам, но совпадающие сегменты не будут доступны в замененной строке в качестве переменных, таких как $1или \1:
- Найти:
margin: [0-9]*em(без скобок)
- Заменить на:
margin: $1pxилиmargin: \1px
- Результат:
margin: px; /* `$1` is undefined */
margin: px; /* `$1` is undefined */
$0?