RegExpMatch class Null safety
A regular expression match.
Regular expression matches are Matches, but also include the ability to retrieve the names for any named capture groups and to retrieve matches for named capture groups by name instead of their index.
Example:
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.
}
- Implemented types
- Annotations
- @Since("2.3")
Constructors
Properties
- end → int
-
The index in the string after the last character of the match.
read-only, inherited
- groupCount → int
-
Returns the number of captured groups in the match. [...]
read-only, inherited
-
groupNames
→ Iterable<
String> -
The names of the captured groups in the match.
read-only
- hashCode → int
-
The hash code for this object. [...]
read-only, inherited
- input → String
-
The string on which this match was computed.
read-only, inherited
- pattern → Pattern
-
The pattern used to search in input.
read-only, inherited
- runtimeType → Type
-
A representation of the runtime type of the object.
read-only, inherited
- start → int
-
The index in the string where the match starts.
read-only, inherited
Methods
-
group(
int group) → String? -
The string matched by the given group. [...]
inherited
-
groups(
List< int> groupIndices) → List<String?> -
A list of the groups with the given indices. [...]
inherited
-
namedGroup(
String name) → String? -
The string matched by the group named
name
. [...] -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a non-existent method or property is accessed. [...]
inherited
-
toString(
) → String -
A string representation of this object. [...]
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator. [...]
inherited
-
operator [](
int group) → String? -
The string matched by the given
group
. [...]inherited