regex_iterator()是C++中BiDirectionalIterator类的函数。此方法返回一个迭代器类型,以迭代序列中同一正则表达式模式的不同匹配。
句法:
template<
class BidirectionalIterator,
class CharT = typename std::iterator_traits::value_type,
class Traits = std::regex_traits > class regex_iterator
C++ 14语法
template class regex_iterator;
C++ 11语法:
template class regex_iterator;
参数:此方法接受以下参数:
- BidirectionalIterator:在目标字符序列上进行迭代。
- 图表:这是一个char类型。
- 特质:这是正则表达式特质类型。
返回值:该方法返回具有结果序列的字符串对象。
以下示例说明了regex_iterator()方法:
例子:
#include
#include
#include
#include
using namespace std;
int main()
{
const string
strg
= "Geeksforgeeks welcome geeks.";
regex words_regex("[^\\s]+");
auto
words_begin
= sregex_iterator(
strg.begin(),
strg.end(),
words_regex);
auto words_end = sregex_iterator();
cout << "Trying to find words"
<< " using regex_iterator:\n\n";
cout << "Number of words found: "
<< distance(words_begin, words_end);
cout << "\n\nThe words are:\n";
for (sregex_iterator k = words_begin;
k != words_end;
++k) {
smatch match = *k;
string match_str = match.str();
cout << match_str
<< endl;
}
}
输出:
Trying to find words using regex_iterator:
Number of words found: 3
The words are:
Geeksforgeeks
welcome
geeks.
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程” 。