STL中正则表达式的应用

来源:互联网 发布:淘宝上的1号胶囊是什么 编辑:程序博客网 时间:2024/06/01 23:31
使用STL正则表达式首先需要包含正则库
#include <regex> 


其中主要包括regex_search、regex_match、regex_replace三个函数
regex_search:全字查找
regex_match:部分查找
regex_replace:正则部分替换

重点看regex_match,部分查找,因为该功能对于较小的字符长度其实是能够包含regex_search的功能,并通过简单替换拼接就能达到regex_replace的替换效果

一般这样使用:
std::regex_search(szSourceString,ms, regExpress)

szSourceString待分析字符串
regExpress正则规则
ms输出的查找结果

正则规则直接通过字符串构造即可
std::regex regExpress(regString, std::regex_constants::icase)

输出结果比较有意思,按道理说应当是查找到的第一个字符串
但实际,也是这样,不过分为两部分,字符串的首地址与尾地址
且是一个类数组结构

类数组结构中第一个元素是整体字符串的首部与尾部地址
如果正则规则中存在()括号的,会将()中内容当做子对象进行查找,依次存在数组中