blob: d85c8ac970f9102f3d8fcf086e687fa4a353adc5 [file] [log] [blame]
// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
part of dart.core;
abstract class Pattern {
/**
* Match this pattern against the string repeatedly.
*
* The iterable will contain all the non-overlapping matches of the
* pattern on the string, ordered by start index.
*
* The matches are found by repeatedly finding the first match
* of the pattern on the string, starting from the end of the previous
* match, and initially starting from index zero.
*
* If the pattern matches the empty string at some point, the next
* match is found by starting at the previous match's end plus one.
*/
Iterable<Match> allMatches(String str);
/**
* Match this pattern against the start of string.
*
* If [start] is provided, it must be an integer in the range `0` ..
* `string.length`. In that case, this patten is tested against the
* string at the [start] position. That is, a match is returned if the
* pattern can match a part of the string starting from position [start].
*/
Match matchAsPrefix(String string, [int start = 0]);
}