zoukankan      html  css  js  c++  java
  • C++11正则表达式初探

    C++正则表达式

    在此之前都没有了解过C++的正则,不过现在大多数赛事都支持C++11了,因此有必要学习一下,用于快速A签到题。 * 所在头文件 ```C++ #include ``` * 正则表达式语法 跟其他语言的正则语法基本一样,要注意的是转义需要两个```\```,如匹配数字的```d```应该写成```\d```; * regex使用语法 ```C++ regex pattern("正则表达式");//匹配规则 smatch result;//用于存放匹配结果 string s;//待匹配的文本串 ``` 库里有三个函数供我们使用,下面逐一简单介绍: ```C++ regex_match(s,result,pattern); ``` 该函数是全文匹配,即从文本第一个字符开始匹配,不符就匹配失败,返回false,成功则返回true ```C++ regex_search(s,result,pattern); ``` 该函数是搜索匹配,即匹配全文中符合规则的子字符串,匹配失败返回false,成功则返回true ```C++ regex_replace(s,pattern,"用于替换的内容"); ``` 该函数用指定字符串替换文本中所有符合规则的子串 如果想要遍历一个文本串中所有的匹配结果,可以像下面这样写 ```C++ while (regex_search(s,result,pattern)) { for (int i = 1; i < result.size(); ++i) { cout << result[i] << endl; } s=result.suffix().str(); } ``` result[0]表示匹配的全部内容,result[i]表示匹配内容中的第i个组(即第i个括号中的内容)
  • 相关阅读:
    [DDCTF 2019]homebrew event loop
    [极客大挑战 2019]FinalSQL
    $[HAOI2008]$硬币购物
    $2018/8/19 = Day5$学习笔记 + 杂题整理
    $2018/8/16 = Day2$学习笔记$+$杂题整理
    [NOIp2009] $Hankson$の趣味题
    2018清北学堂夏日培训游记
    2.数组的声明和创建
    1.什么是数组?
    15.递归
  • 原文地址:https://www.cnblogs.com/orangee/p/9753794.html
Copyright © 2011-2022 走看看