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