• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

c++正则表达式regex_match和regex_seach使用

武飞扬头像
要学习的小趴菜
帮助1

1:区别

        regex_match用来做全匹配,检测字符串是否符合表达式规则,如果字符串符合规则,返回true;

学新通

        regex_seach用来匹配字符串中是否有和规则相匹配的字符串子串;

2:regex_seach

        通常用一个容器接收匹配后的字符串;匹配规则若含分组,会在容器中包含分组的字符串

regex_seach:只匹配一次,若想完全匹配字符串中所有符合规则的字符串,使用sregex_iterator迭代器遍历字符串,获取所有符合表达式规则的子串。

  解释
regex 正则表达式类
regex_match 将一个字符序列与一个正则表达式匹配
regex_search 寻找第一个与正则表达式匹配的子序列
regex_replace 使用给定格式替换一个正则表达式
smatch 容器类,保存在string中搜索的结果
sregex_iterator 迭代器适配器,调用regex_search来遍历一个string中所有匹配的子串

        使用seach时,若表达式中含分组情况,分组信息将会在smatch容器中显示出来,smatch中的第一个值为匹配出来的字符串。

学新通

 regex类r中存在两个分组,故在smatch容器中会显示出分组出的子串“x”和“1”。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgffcbe
系列文章
更多 icon
同类精品
更多 icon
继续加载