Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗dtSpRgInr 34 of 224 menu
◀ ▶

Введение в регулярные выражения в 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".

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить