C++ Primer 5th笔记(chap 17 标准库特殊设施)匹配与 Regex 迭代器类型

Posted thefist11

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ Primer 5th笔记(chap 17 标准库特殊设施)匹配与 Regex 迭代器类型相关的知识,希望对你有一定的参考价值。

1. regex迭代器是一种迭代器适配器,被绑定到一个输入序列和一个对象上

eg. 下表操作也适用于cregex_iterator、wsregex_iterator和wcregex_iterator

sregex_iterator操作解释
sregex_iterator it(b, e, r);一个sregex_iterator,遍历迭代器b和e表示的string。它调用sregex_search(b, e, r)将it定位到输入中第一个匹配的位置
sregex_iterator end;sregex_iterator的尾后迭代器
*it or it->根据最后一个调用regex_search的结果,返回一个smatch对象的引用或一个指向smatch对象的指针
++it or it++从输入序列当前匹配位置开始调用regex_search。前置版本返回递增后迭代器;后置版本返回旧值
it1 == it2 or it1 != it2如果两个sregex_iterator都是尾后迭代器,则它们相等;两个非尾后迭代器是从相同的输入序列和regex对象构造,则它们相等。
// 查找前一个字符不是c的字符串ei
string pattern("[^c]ei");
// 我们想要包含pattern的单词的全部内容
pattern = "[[:alpha:]]*" + pattern + "[[:alpha:]]*";
regex r(pattern, regex::icase); // 在进行匹配时将忽略大小写
// 它将反复调用regex_search来寻找文件中的所有匹配
for (sregex_iterator it(file.begin(), file.end(), r), end_it; it != end_it; ++it)
    cout << it->str() << endl; // 匹配的单词

以上是关于C++ Primer 5th笔记(chap 17 标准库特殊设施)匹配与 Regex 迭代器类型的主要内容,如果未能解决你的问题,请参考以下文章

C++ Primer 5th笔记(chap 17 标准库特殊设施)输出补白

C++ Primer 5th笔记(chap 17 标准库特殊设施)bitset类型

C++ Primer 5th笔记(chap 17 标准库特殊设施)正则表达式

C++ Primer 5th笔记(chap 17 标准库特殊设施)tuple 返回多个值

C++ Primer 5th笔记(chap 17 标准库特殊设施)控制输入格式

C++ Primer 5th笔记(chap 17 标准库特殊设施)bitset操作