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

Класс Pattern

Класс Pattern является абстрактным базовым классом для всех шаблонов поиска в строках. Он определяет общий интерфейс для поиска совпадений, который реализуется классами RegExp и String. Класс Pattern предоставляет методы для поиска совпадений в строках, но не может быть создан напрямую, так как является абстрактным. Вместо этого используются его конкретные реализации.

Синтаксис

abstract class Pattern { Iterable<Match> allMatches(String string, [int start = 0]); Match? matchAsPrefix(String string, [int start = 0]); }

Пример

Давайте создадим регулярное выражение с помощью класса RegExp, который наследуется от Pattern, и найдем все совпадения в строке:

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

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

"123" "456"

Пример

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

void main() { Pattern pattern = RegExp(r'abc'); String str = 'abcde'; Match? match = pattern.matchAsPrefix(str); if (match != null) { print('Match found: ${match.group(0)}'); } else { print('No match'); } }

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

"Match found: abc"

Пример

Давайте используем строку как Pattern для поиска подстроки в другой строке:

void main() { Pattern pattern = '123'; String str = 'abc123def'; Iterable<Match> matches = pattern.allMatches(str); for (Match match in matches) { print('Found at index: ${match.start}'); print('Matched text: ${match.group(0)}'); } }

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

"Found at index: 3" "Matched text: 123"

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

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