字符串匹配——C++使用Regex
2015-10-01 10:59
471 查看
需要#include < regex >
匹配
regex_match ("subject", std::regex("(sub)(.*)")
//结果返回true
主要regex_match需要匹配源字符串的每个字符,这点与regex_search不同
查找
返回一个匹配项
输出结果是Saturday
匹配所有项
输出结果是Saturday Sunday Friday
替换
输出结果是This is an element and this an unique ID.
匹配
regex_match ("subject", std::regex("(sub)(.*)")
//结果返回true
主要regex_match需要匹配源字符串的每个字符,这点与regex_search不同
查找
返回一个匹配项
const regex pattern("(\\w+day)"); string weekend = "Saturday and Sunday";// the source text smatch result; bool match = regex_search(weekend, result, pattern); if(match){ for(size_t i = 1; i < result.size(); ++i){ cout << result[i] << std::endl; } }
输出结果是Saturday
匹配所有项
const regex pattern("(\\w+day)"); string weekend = "Saturday and Sunday, but some Fridays also."; const sregex_token_iterator end; for (sregex_token_iterator i(weekend.begin(),weekend.end(), pattern); i != end ; ++i){ cout << *i << " "; }
输出结果是Saturday Sunday Friday
替换
string text = "This is a element and this a unique ID."; const regex pattern("(\\ba (a|e|i|u|o))+");// regular expression with two capture groups std::string replace = "an $2"; //$2表示匹配模式串的第二个字串,即以a,e,i,o,u开头的单词 string newtext = regex_replace(text, pattern, replace); cout << newtext << endl;
输出结果是This is an element and this an unique ID.
相关文章推荐
- C++ Primer Plus 课后习题 第二章
- C++中引用
- typename的用法
- C++基础编程---1.3模糊概念
- C++ ——三大特性理解
- C++ - 继承与派生的概念
- 涉及虚函数的继承
- 转:DLL如何导出C++的类
- 用C语言程序实现黎曼和求定积分
- C++ 设计模式
- 生成8位26个字母和数字的全排列(密码字典,密钥)c++代码(非递归高效直接)
- leetcode笔记:Simplify Path
- ubuntu下如何编译C语言
- C++那些细节--const与函数
- C语言求两个数中最大公约数
- 一个简单地C语言程序展示RSA加密原理
- C++——Static变量初始化
- c++primer:IO类的学习
- 【c语言】 写一个函数返回参数二进制中 1 的个数
- C++ 简单Vector模板类