Вы должны экранировать только те символы, которые должны быть экранированы.
Использование
font-size:\s?\d{2}px;\s?
Обратите внимание: -
(здесь), :
и ;
не являются специальными и, следовательно, НЕ ДОЛЖНЫ быть экранированными.
Причина в том, что регулярное выражение теперь скомпилировано с модификатором u
, позволяющим работать классам свойств Unicode (например, \p{L}
соответствует любой букве Юникода). Вот проблема VSCode Github , Подумайте о поиске с помощью JS регулярных выражений в режиме Unicode . Он был закрыт 3 сентября 2019 года и проверен 3 октября 2019 года.
Побочным эффектом является более строгих требований к побегу .
За пределами классов символов, [...]
, необходимо экранировать следующие символы: .
, ^
, $
, *
, +
, ?
, (
, )
, [
, {
(вы можете оставить его без экранирования в большинстве случаев, однако, если вам нужно найти {
с последующим номером и затем требуется экранирование }
, ср. . /a\{3}/
(соответствует a{3}
)! = /a{3}/
- соответствует трем a
с), \
и |
.
Внутри классов символов , эти символы всегда следует избегать: ]
и \
. -
должен быть экранирован, если он не находится в начале или конце класса символов ([-0-9_]
= [0-9_-]
= [_\-0-9]
), а ^
должен быть экранирован, когда в классе символов начинается обозначение литерал ^
([^0]
(соответствует любому символу, кроме 0
)! = [\^0]
(соответствует ^
или 0
)). См. Какие специальные символы должны быть экранированы в регулярных выражениях? .