正则表达式

1、{d}表示单个数字,{d}{n}表示一个n个数字的序列。(如,{d}{3}匹配三个数字的序列)
2、在方括号中的字符集合表示匹配这些字符中的任意一个。如[- .]匹配一个短横或一个空格或一个点,注意,点在括号中没有特殊含义
3、后接?的组件是可选的。如,{d}{3}[- .]?{d}{4}匹配这样的序列:开始是3个数字,后接一个短横或空格或点,然后是4个数字,但[- .]是可选的,也就是说可以没有这一个匹配,例如此例可以匹配555-1234,或者555.123或555 1234或5551234。
4、类似C++,使用反斜线表示一个字符本身而不是其特殊含义。即反斜线要用\表示,而不能用\。因此正则表达式{d}{3}在C++中表示为\{d}{3}。
5、+表示希望一个或多个匹配,表示希望0个或多个匹配,[[:alpha:]]表示匹配任意字母,[[:alpha:]]*就表示将匹配0个或多个字母,^表示匹配除后接的字符以外的任意字符,如[^c]表示匹配除c以外的任意字符;
6、为了获得匹配的组成部分,而不仅仅是一个整个表达式,我们在定义正则表达式时使用子表达式,每个子表达式使用括号括起来。
例如:“(\()?(\{d}{3})(\))?([- .])?(\{d}{3})([- .])?(\{d}{4})”;
此模式就使用了括号,共有7个子表达式:
1.(\()?表示匹配可选的左括号;
2.(\{d}{3})表示匹配3个数字;
3.(\))?表示匹配可选的右括号;
4.([- .])?表示匹配可选的分隔符;
5.(\{d}{3})表示匹配3个数字;
6.([- .])?表示匹配可选的分隔符;
7.(\{d}{4})表示匹配4个数字;
C++使用regex类来表示一个正则表达式,使用regex_match和regex_search来确定一个给定的字符序列与一个给定的regex是否匹配,若整个序列都匹配,regex_math返回true,若序列中的一个子表达式与regex匹配,则regex_search返回true。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值