C++11 REGEX MATCH ALL 获取全部匹配

C++11 REGEX MATCH ALL 获取全部匹配

C++11 Regex

处理规模较小,较为复杂的字符串逻辑时可能会用到。

经过了很多比较,我认为 regex_token_iterator 是相对简单的。

有两个选择 sregex_token_iterator 和 sregex_iterator

概念区分

  • regex_token_iterator
  • regex_iterator
  • sregex_token_iterator
  • sregex_token_iterator
  • cregex_token_iterator
  • cregex_iterator

看了下面这个一般就明白了

regex_token_iterator 是一个模板类

sregex_token_iterator 和 cregex_token_iterator 分别是对应的标准C++字符串和C字符串版本

 

regex_iterator 同理

 

关于 regex_token_iterator 和 regex_iterator 的区别

网上的博客说的有些让人摸不着头脑,我简单说一下我的看法。

regex_token_iterator  相当于 将 regex_iterator 中的第 i 列(或数组集合)单独抽取的版本。(捕获组)

 

当第四个参数为-1时,表明该迭代器不会匹配所有捕捉组内的内容。

代码示例

下面的代码使用了regex, C++ Raw string literal, currying, range-for . 均需要至少 C++11

!!此代码有诸多不严谨之处(悬挂引用等),仅供演示

 

附上沙雕示意图一张

C++11 REGEX MATCH ALL 获取全部匹配

REFERENCE

  1. https://blog.csdn.net/qq_28633157/article/details/50849904

原文链接: https://www.cnblogs.com/bigben0123/p/13932635.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    C++11 REGEX MATCH ALL 获取全部匹配

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/204796

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月12日 下午9:59
下一篇 2023年2月12日 下午9:59

相关推荐