BOOST库学习之正则表达式

前言

本次笔记记录如下知识点

  1. 正则表达式的简介
  2. 正则表达式的匹配
  3. 正则表达式的查找
  4. 正则表达式的替换
  5. 正则表达式的迭代

一、正则表达式的简介

1、正则表达式的匹配规则
  • 正则表达式定义了一套复杂的语法规则,用于匹配有特定模式的字符串。在正则表达式中,大部分字符都匹配自己(普通字符),只有少量的字符用于定义特殊匹配模式的语法,如下所示:
特别字符 描述
$ 匹配输入字符串的结尾位置。要匹配 $ 字符本身,请使用 $。
( ) 标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 ( 和 )。
* 匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 *。
+ 匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 +。
( ) 标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 ( 和 )。
. 匹配除换行符 \n 之外的任何单字符。要匹配 . ,请使用 . 。
[ 标记一个中括号表达式的开始。要匹配 [,请使用 [。
? 匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 字符,请使用 ?。
\ 将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。例如, ‘n’ 匹配字符 ‘n’。’\n’ 匹配换行符。序列 ‘\’ 匹配 “”,而 ‘(’ 则匹配 “(”。
^ 匹配输入字符串的开始位置,除非在方括号表达式中使用,当该符号在方括号表达式中使用时,表示不接受该方括号表达式中的字符集合。要匹配 ^ 字符本身,请使用 ^。
{ 标记限定符表达式的开始。要匹配 {,请使用 \{。
| 指明两项之间的一个选择。要匹配
2、正则表达式的类摘要
  • basic_regex类的作用主要是对正则表达式解析和编译,代码如下:
template<typename BidiIter>
struct basic_regex
{
   
	basic_regex();
	basic_regex(basic_regex const&);		

	regex_id_type	regex_id() const;	//唯一ID	
	std::size_t	mark_count() const;     //子表达式个数
	void   swap(basic_regex&);

	static basic_regex;					//

	compilc(InputRange const& pat);		//静态工厂函数

};
  • match_results类的作用主要是保存正则表达式匹配的结果,代码如下:
template<typename BidiIter>
struct match_results
{
   
	size_type		size()  const;		//子表达式个数
	bool			empty()	const;		//空判断

	template<typename Sub>
	const_referrence operator[](Sub const& i) const  //获取子表达式
};
  • sub_match类是一个类似迭代器的对象,可以把它当做一个字符串的区间表示,代码如下:
template
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值