Карманы при поиске в Dart
Часто при поиске совпадения удобно разложить подстроку на так называемые карманы. Они представляют собой способ разбить найденное на отдельные части. Для их использования нужно заключить часть регулярки в круглые скобки.
рассмотрим следующую строку:
var txt = "123 456";
Разложим подстроки с числами по карманам. Для этого напишем следующую регулярку:
var res = RegExp(r'(\d+) (\d+)').firstMatch(txt);
В результате мы получим объект RegExpMatch. В
его элементе с индексом 1 будет
лежать первый карман, в элементе с индексом
2 - второй карман, а в элементе с
индексом 0 - все найденное (так
называемый нулевой карман):
print(res?.group(0)); // '123 456' - найденное
print(res?.group(1)); // '123' - 1 карман
print(res?.group(2)); // '456' - 2 карман
Дана строка, содержащая домен:
var txt = "sss domain.ru zzz";
Найдите этот домен и положите его имя в первый карман, а зону - во второй.
Дана строка, содержащая дату:
var txt = "31.12.2025";
Положите день в первый карман, месяц - во второй, а год - в третий.