• 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个括号中的内容)
  • 相关阅读:
    Java中的数据类型
    SSE2 Intrinsics各函数介绍[转]
    mac terminal的使用技巧
    vi打开二进制文件
    svn
    fitness
    <正见>摘抄
    管理自己
    [C++程序设计]基于对象的程序设计 基于对象的程序设计
    [C++程序设计]引用
  • 原文地址:https://www.cnblogs.com/orangee/p/9753794.html
Copyright © 2020-2023  润新知