allMatches 抽象方法

Iterable<RegExpMatch> allMatches(
  1. String input,
  2. [int start = 0]
)
override

重复地将此模式匹配到字符串中。

如果提供了 start,匹配将从该索引开始。

返回的可迭代对象会偷懒地找到在 string 中的模式的不重叠匹配。如果用户只请求第一个匹配,则此函数不应计算所有可能的匹配。

通过反复在字符串中找到模式的第一处匹配来找到匹配。初始起始位置从 start 开始,然后从上一个匹配的末尾开始(但始终至少比上一个匹配的 start 索引多一个位置,以防模式匹配到空子串)。

RegExp exp = RegExp(r'(\w+)');
var str = 'Dash is a bird';
Iterable<Match> matches = exp.allMatches(str, 8);
for (final Match m in matches) {
  String match = m[0]!;
  print(match);
}

示例的输出为

a
bird

实现

Iterable<RegExpMatch> allMatches(String input, [int start = 0]);