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 the 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 the first message.
  // 01:15.57
  // This is the second message.
}
Реализуемые типы
  • Match
Аннотации
  • @Since("2.3")

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

RegExpMatch()

Свойства

end → int
только для чтенияунаследовано
Индекс в строке после последнего символа совпадения.
groupCount → int
только для чтенияунаследовано
Возвращает количество захваченных групп в совпадении.
groupNames → Iterable<String>
только для чтения
Имена именованных групп захвата в pattern.
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.19.6/dart-core/RegExpMatch-class.html

Spec-Zone.ru

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