Класс 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.
}
- Реализованные типы
- Аннотации
-
- @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