| Index: sdk/lib/core/pattern.dart
|
| diff --git a/sdk/lib/core/pattern.dart b/sdk/lib/core/pattern.dart
|
| index f47ba156df73e3b40806924ff25986f19e194b89..7f32c7259193813479a861d1930189e7337295d7 100644
|
| --- a/sdk/lib/core/pattern.dart
|
| +++ b/sdk/lib/core/pattern.dart
|
| @@ -42,3 +42,90 @@ abstract class Pattern {
|
| */
|
| Match matchAsPrefix(String string, [int start = 0]);
|
| }
|
| +
|
| +/**
|
| + * A result from searching within a string.
|
| + *
|
| + * A Match or an [Iterable] of Match objects is returned from [Pattern]
|
| + * matching methods.
|
| + *
|
| + * The following example finds all matches of a [RegExp] in a [String]
|
| + * and iterates through the returned iterable of Match objects.
|
| + *
|
| + * RegExp exp = new RegExp(r"(\w+)");
|
| + * String str = "Parse my string";
|
| + * Iterable<Match> matches = exp.allMatches(str);
|
| + * for (Match m in matches) {
|
| + * String match = m.group(0);
|
| + * print(match);
|
| + * }
|
| + *
|
| + * The output of the example is:
|
| + *
|
| + * Parse
|
| + * my
|
| + * string
|
| + *
|
| + * Some patterns, regular expressions in particular, may record subtrings
|
| + * that were part of the matching. These are called _groups_ in the Match
|
| + * object. Some patterns may never have any groups, and their matches always
|
| + * have zero [groupCount].
|
| + */
|
| +abstract class Match {
|
| + /**
|
| + * Returns the index in the string where the match starts.
|
| + */
|
| + int get start;
|
| +
|
| + /**
|
| + * Returns the index in the string after the last character of the
|
| + * match.
|
| + */
|
| + int get end;
|
| +
|
| + /**
|
| + * Returns the string matched by the given [group].
|
| + *
|
| + * If [group] is 0, returns the match of the pattern.
|
| + *
|
| + * The result may be `null` if the pattern didn't assign a value to it
|
| + * as part of this match.
|
| + */
|
| + String group(int group);
|
| +
|
| + /**
|
| + * Returns the string matched by the given [group].
|
| + *
|
| + * If [group] is 0, returns the match of the pattern.
|
| + *
|
| + * Short alias for [Match.group].
|
| + */
|
| + String operator [](int group);
|
| +
|
| + /**
|
| + * Returns a list of the groups with the given indices.
|
| + *
|
| + * The list contains the strings returned by [group] for each index in
|
| + * [groupIndices].
|
| + */
|
| + List<String> groups(List<int> groupIndices);
|
| +
|
| + /**
|
| + * Returns the number of captured groups in the match.
|
| + *
|
| + * Some patterns may capture parts of the input that was used to
|
| + * compute the full match. This is the number of captured groups,
|
| + * which is also the maximal allowed argument to the [group] method.
|
| + */
|
| + int get groupCount;
|
| +
|
| + /**
|
| + * The string on which this match was computed.
|
| + */
|
| + String get input;
|
| +
|
| + /**
|
| + * The pattern used to search in [input].
|
| + */
|
| + Pattern get pattern;
|
| +}
|
|
|