C++ regex库常用函数及实例

本文介绍了C++标准库中的正则表达式部分,包括regex_search函数的使用、异常处理、char数组作为参数以及如何使用regex迭代器获取所有匹配。通过示例展示了如何捕获regex_error异常,以及如何编写程序提取ipv4地址。
摘要由CSDN通过智能技术生成
简介

regex是C++标准库中用于正则表达式(regular expression)的部分。

大致有如下常用组件:

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

在下面一个简单的例子里使用一些组件

#include<regex>
#include<iostream>
using namespace std;
//正则表达式
void main()
{
   
	string pattern = "^([a-z]|_)[[:alnum:]]+";
    //开头的^表示从字符串开头开始匹配,|表示或,alnum表示字母或数字,+表示至少重复一次
	regex r(pattern, regex::icase);//初始化正则表达式类,icase表示忽略大小写
	string s("Asff");
	smatch results;//用于保存成功匹配的相关信息
	if (regex_search(s, results, r))
		cout << results.str() << endl;
	s="_qwer";
	if (regex_search(s, results, r))
		cout << results.str() << endl;
	s="9sff";
	if (regex_search(s, results, r))
		cout << results
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值