РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
424 of 723 menu

Функция escape

Функция escape класса RegExp принимает строку и возвращает новую строку, в которой все специальные символы регулярных выражений экранированы обратным слешем. В первый параметр мы передаем исходную строку, которую нужно экранировать. Это статический метод, поэтому он вызывается напрямую через класс RegExp, а не через экземпляр объекта.

Экранирование необходимо, когда вы хотите использовать пользовательский ввод или произвольную строку как часть шаблона регулярного выражения. Без экранирования такие символы, как ., *, +, ?, (, ), [, ], {, }, ^, $, | и \, будут интерпретироваться как управляющие конструкции, а не как обычные символы.

Синтаксис

RegExp.escape(String text)

Пример

Давайте экранируем строку, содержащую специальные символы регулярного выражения:

void main() { String str = 'abc.def'; String escaped = RegExp.escape(str); print(escaped); }

Результат выполнения кода:

"abc\.def"

Пример

Давайте экранируем строку с несколькими специальными символами и проверим, что она работает как литерал в регулярном выражении:

void main() { String str = 'a+b*c?'; String escaped = RegExp.escape(str); print(escaped); RegExp regExp = RegExp(escaped); print(regExp.hasMatch('a+b*c?')); print(regExp.hasMatch('aabcc')); }

Результат выполнения кода:

"a\+b\*c\?" true false

Пример

Давайте экранируем строку, содержащую символы скобок и вертикальную черту:

void main() { String str = '(a|b)'; String escaped = RegExp.escape(str); print(escaped); }

Результат выполнения кода:

"\(a\|b\)"

Смотрите также

  • класс RegExp,
    который представляет регулярное выражение
  • метод hasMatch,
    который проверяет наличие совпадения
  • метод allMatches,
    который возвращает все совпадения
  • свойство pattern,
    которое возвращает исходный шаблон
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить