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

Метод stringMatch

Метод stringMatch класса RegExp ищет первое совпадение регулярного выражения в переданной строке. В первый параметр мы передаем строку, в которой нужно выполнить поиск. Метод возвращает объект RegExpMatch, если совпадение найдено, или null, если совпадений нет. Полученный объект содержит информацию о найденном совпадении: сам текст совпадения, его позицию в строке, а также группы захвата.

Обратите внимание, что метод stringMatch ищет только первое совпадение. Если нужно найти все совпадения, следует использовать метод allMatches.

Синтаксис

RegExpMatch? stringMatch(String string)

Пример

Давайте найдем первое совпадение с шаблоном [a-z]+ в строке 'abcde 12345':

void main() { RegExp regExp = RegExp(r'[a-z]+'); RegExpMatch? res = regExp.stringMatch('abcde 12345'); if (res != null) { print(res.group(0)); } else { print('no match'); } }

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

"abcde"

Пример

Давайте получим позицию найденного совпадения и проверим работу метода, когда совпадений нет:

void main() { RegExp regExp = RegExp(r'\d+'); RegExpMatch? res = regExp.stringMatch('abcde 12345'); if (res != null) { print(res.start); print(res.end); } else { print('no match'); } RegExpMatch? res2 = regExp.stringMatch('abcde'); print(res2); }

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

6 11 null

Пример

Давайте используем группы захвата и извлечем отдельные части найденного совпадения:

void main() { RegExp regExp = RegExp(r'(\d+)-(\d+)'); RegExpMatch? res = regExp.stringMatch('abcde 12345-67890'); if (res != null) { print(res.group(0)); print(res.group(1)); print(res.group(2)); } else { print('no match'); } }

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

"12345-67890" "12345" "67890"

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

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