Spec-Zone.ru › Dart 2

dart:core

Класс RegExpMatch

Соответствие регулярному выражению.

Соответствия регулярным выражениям являются объектами Match, но также включают возможность извлечения имен для любых именованных групп захвата и извлечения соответствий для именованных групп захвата по имени вместо их индекса.

Пример:

const pattern =
    r'^\[(?<Time>\s*((?<hour>\d+)):((?<minute>\d+))\.((?<second>\d+)))\]'
    r'\s(?<Message>\s*(.*)$)';

final regExp = RegExp(
  pattern,
  multiLine: true,
);

const multilineText = '[00:13.37] This is a first message.\n'
    '[01:15.57] This is a second message.\n';

RegExpMatch regExpMatch = regExp.firstMatch(multilineText)!;
print(regExpMatch.groupNames.join('-')); // hour-minute-second-Time-Message.
final time = regExpMatch.namedGroup('Time'); // 00:13.37
final hour = regExpMatch.namedGroup('hour'); // 00
final minute = regExpMatch.namedGroup('minute'); // 13
final second = regExpMatch.namedGroup('second'); // 37
final message =
    regExpMatch.namedGroup('Message'); // This is a first message.
final date = regExpMatch.namedGroup('Date'); // Undefined `Date`, throws.

Iterable<RegExpMatch> matches = regExp.allMatches(multilineText);
for (final m in matches) {
  print(m.namedGroup('Time'));
  print(m.namedGroup('Message'));
  // 00:13.37
  // This is a first message.
  // 01:15.57
  // This is a second message.
}
Реализованные типы
  • Match
Аннотации
  • @Since("2.3")

Конструкторы

RegExpMatch()

Свойства

end → int
только для чтения, унаследованное
Индекс в строке после последнего символа совпадения.
groupCount → int
только для чтения, унаследованное
Возвращает количество захваченных групп в совпадении.
groupNames → Iterable<String>
только для чтения
Имена захваченных групп в совпадении.
hashCode → int
только для чтения, унаследованное
Хэш-код этого объекта.
input → String
только для чтения, унаследованное
Строка, для которой было вычислено это соответствие.
pattern → Pattern
только для чтения, унаследованное
Шаблон, используемый для поиска в input.
runtimeType → Type
только для чтения, унаследованное
Представление типа времени выполнения объекта.
start → int
только для чтения, унаследованное
Индекс в строке, где начинается совпадение.

Методы

group(int group) → String?
унаследованное
Строка, соответствующая заданной группе.
groups(List<int> groupIndices) → List<String?>
унаследованное
Список групп с заданными индексами.
namedGroup(String name) → String?
Строка, соответствующая группе с именем name.
noSuchMethod(Invocation invocation) → dynamic
унаследованное
Вызывается при обращении к несуществующему методу или свойству.
toString() → String
унаследованное
Строковое представление этого объекта.

Операторы

operator ==(Object other) → bool
унаследованное
Оператор равенства.
operator [](int group) → String?
унаследованное
Строка, соответствующая заданной group.

© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-core/RegExpMatch-class.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API