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

Метод allMatches

Метод allMatches класса Pattern выполняет поиск всех вхождений регулярного выражения в переданной строке и возвращает итератор Iterable<RegExpMatch>. В первый параметр мы передаем строку, в которой нужно выполнить поиск. Второй параметр задает начальную позицию поиска в строке (по умолчанию равен 0). Метод не изменяет исходную строку, а лишь возвращает ленивый итератор совпадений.

Синтаксис

pattern.allMatches(string, [start])

Пример

Давайте найдем все вхождения цифр в строке и выведем каждое совпадение:

void main() { RegExp pattern = RegExp(r'\d'); String str = 'a1b2c3'; Iterable<RegExpMatch> matches = pattern.allMatches(str); for (RegExpMatch match in matches) { print(match.group(0)); } }

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

"1" "2" "3"

Пример

Давайте найдем все слова, состоящие из букв, и выведем их вместе с позицией начала:

void main() { RegExp pattern = RegExp(r'[a-z]+'); String str = 'abc 123 def'; Iterable<RegExpMatch> matches = pattern.allMatches(str); for (RegExpMatch match in matches) { print('${match.group(0)} at ${match.start}'); } }

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

"abc at 0" "def at 8"

Пример

Давайте передадим второй параметр, чтобы начать поиск с определенной позиции:

void main() { RegExp pattern = RegExp(r'\d'); String str = '12345'; Iterable<RegExpMatch> matches = pattern.allMatches(str, 2); for (RegExpMatch match in matches) { print(match.group(0)); } }

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

"3" "4" "5"

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

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