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 迭代器类型相关推荐

  1. C++ Primer 5th笔记(chap 17 标准库特殊设施)流随机访问

    1. 流类型通常都支持对流中数据的随机访问. 可以重定位流, 使之跳过一些数据, 首先读取最后一行, 然后读取第一行, 依此类推. 1.1 标准厍提供了一对函数, 来定位( seek )到流中给定的位 ...

  2. C++ Primer 5th笔记(chap 17 标准库特殊设施)多字节低层IO操作

    1. 多字节操作 一些未格式化 IO 操作一次处理大块数据,这些操作要求我们自己分配并管理用来保存和提取数据的字符数组 操作 解释 is.get(sink, size, delim) 从is中读取最多 ...

  3. C++ Primer 5th笔记(chap 17 标准库特殊设施)未格式化的输入/输出操作

    1. 格式化IO 输入和输出运算符(<< 和>>)根据读取或写入的数据类型来格式化它们. 输入运算符忽略空白符 输出应用补白 精度等规则操作 2. 未格式化 IO (unfor ...

  4. C++ Primer 5th笔记(chap 17 标准库特殊设施)IO库 之操纵符

    1. 控制浮点数格式 可以控制浮点数输出三个种格式 • 以多高精度( 多少个数字) 打印浮点值 • 数值是打印为十六进制. 定点十进制还是科学记数法形式 • 对于没有小数部分的浮点值是否打印小数点 1 ...

  5. C++ Primer 5th笔记(chap 17 标准库特殊设施)匹配标志

    1. 用来控制匹配和格式的标志 标准库还定义了用来在替换过程中控制匹配或格式的标志,这些标志可以传递给函数 regex_search 或 regex_match 或是类 smatch 的 format ...

  6. C++ Primer 5th笔记(chap 17 标准库特殊设施)正则表达式类和输入序列类型

    1. 多种类型的输入 可以搜索多种类型的输入序列. RE 库为这些不同的输入序列类型都定义了对应的类型,eg. 普通 char 数据.wchar_t 数据 字符可以保存在标准库string或是 cha ...

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

    1. 指定或使用正则表达式时的错误 如果我们编写的正则表达式存在错误, 则在运行时标准库会抛出一个类型为regex 的异常 eg. try {// alnum右括号少了一个, 构造函数会抛出异常reg ...

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

    1. 提取 bitset 的值 函数返回一个值,保存了与bitset 对象相同的位模式. to_ulong() // 返回unsigned long to_ullong() //返回unsigned ...

  9. C++ Primer 5th笔记(chap 17 标准库特殊设施)随机数

    1. 场景: rand 生成随机数 此函数生成均匀分布的伪随机整数, 每个随机数的范围在 0 和一个系统相关的最大值( 至少为 32767) 之间. 1.1 问题: 一些应用需要随机浮点数. 一些程序 ...

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

    1. 定义 将一些数据组合成单一对象(类似pair) tuple支持的操作 操作 解释 tuple<T1, T2, -, Tn> t; t是一个tuple,成员数为n,第i个成员的类型是T ...

最新文章

  1. Arithmetic_Thinking -- greedy algorithm
  2. Coursera公开课笔记: 斯坦福大学机器学习第一课“引言(Introduction)”
  3. [转]virtualbox下安装增强工具简单步骤
  4. mysql行级安全_MySQL学习笔记(五):MySQL表级锁和行级锁
  5. 图解JavaScript算法排序
  6. 关于计算机书籍的收集与整理(一)
  7. Adobe illustrator 剪切蒙版圆形细胞培养皿 - 连载20
  8. C++反汇编第五讲,认识多重继承,菱形继承的内存结构,以及反汇编中的表现形式....
  9. linux上NFS性能参数
  10. 数字与中文信息的结合记忆(下)
  11. linux db2升级,linux 下 db2 v97 升级到db2 v10.1 实战
  12. 项目Alpha冲刺Day3
  13. 清除html中table标签显示的数据,遍历查看/新增/删除/获取html中table中的标签
  14. 快速构建Windows 8风格应用9-竖直视图
  15. matlab 模式识别(第四版),模式识别与智能计算—MATLAB技术实现(第4版)
  16. stm8L 触摸库使用教程 一步一步
  17. js解压gzip(解决RangeError: Maximum call stack size exceeded)
  18. 分布式机器学习第3章 分布式机器学习框架
  19. 【本科毕业设计】基于单片机的智能家居防火防盗报警系统
  20. 35岁的大龄程序员都去哪里了?

热门文章

  1. mysql哪些优化手段_mysql explain 及常见优化手段
  2. 普平数据招聘:数据中心建设项目经理(工程部 )2人
  3. 制冷设备维保常见的10大故障!
  4. 数据中心发电机组的选择及控制
  5. cpu性能测试软件 国际象棋,国际象棋、科学计算,整机性能测试
  6. 成功解决ValueError: Dimension 1 in both shapes must be equal, for ‘Assign_8‘ (op: ‘Assign‘) with input s
  7. AI:2020年6月23日北京智源大会演讲分享之智能信息检索与挖掘专题论坛——09:55-10:40刘兵教授《Open-World AI and Continual Learning》
  8. 成功解决ImportError: Matplotlib qt-based backends require an external PyQt4, PyQt5,问题
  9. ML之FE:利用FE特征工程(单个特征及其与标签关系的可视化)对RentListingInquries(Kaggle竞赛)数据集实现房屋感兴趣程度的多分类预测
  10. EL之DTRFGBT:基于三种算法(DT、RF、GBT)对泰坦尼克号乘客数据集进行二分类(是否获救)预测并对比各自性能