我正在使用 cpp 正则表达式库在文本中查找正则表达式匹配。我已经编写了自己的迭代器(以跳过文本中的某些字符),并将其传递给 regex_iterator。我的问题是它返回的结果包含在文本中找到的所有匹配项。即使找到第一个匹配项,我也不希望 regex_iterator 继续搜索文本,因为我只需要第一个匹配项。
此外,如果这在 cpp 正则表达式中是不可能的,那么在 boost 中是否可能?
示例代码:
regex_iterator<MyIterator> rit ( cdogs, cdogs.end(), e );
regex_iterator<MyIterator> rend;
while (rit!=rend) {
cout << rit->str() << std::endl;
++rit;
}