Введение в регулярные выражения в Dart
Регулярное выражение - это текстовый
шаблон для поиска, проверки и замены
фрагментов строки. В Dart с шаблонами
работает класс RegExp, встроенный
в язык: шаблон задают сыстрой строкой
с префиксом r.
Шаблон состоит из обычных символов, которые совпадают сами с собой, и специальных символов - коротких команд вроде точки или звездочки. Специальные символы задают классы символов, повторения и границы текста.
Замену по шаблону выполняет метод replaceAll
у строки: сначала передают RegExp,
затем текст, на который нужно заменить
каждое совпадение. Простейший
пример выглядит так:
var res = "bab".replaceAll(RegExp(r'a'), "!");
print(res);
Результат выполнения кода:
b!b;
Буквы и цифры в шаблоне обозначают те же
символы в тексте. Заменим цифру 2
на "!":
var res = "12abc3".replaceAll(RegExp(r'2'), "!");
print(res);
Точка в шаблоне - специальный символ: она
обозначает любой один символ. Найдем
фрагмент по шаблону буква "x",
любой символ, буква "x" и заменим
его на "!":
var res = "xax eee".replaceAll(RegExp(r'x.x'), "!");
print(res);
Дана строка:
var txt = "ahb acb aeb aeeb adcb axeb";
Напишите регулярку, которая найдет строки
"ahb", "acb", "aeb"
по шаблону: буква "a", любой
символ, буква "b".
Дана строка:
var txt = "aba aca aea abba adca abea";
Напишите регулярку, которая найдет строки
"abba", "adca", "abea"
по шаблону: буква "a", 2
любых символа, буква "a".
Дана строка:
var txt = "aba aca aea abba adca abea";
Напишите регулярку, которая найдет строки
"abba" и "abea", не захватив
"adca".