正则表达式常用规则

1、直接匹配字符
直接匹配普通的字符,可以是中文
例:
ABC      相当于:A{1}B{1}C{1}
哈       相当于:哈{1}
哈|呵    相对于:哈{1}|呵{1},匹配一个字符,可以是哈或者呵

2、匹配多次
例:
哈{n}     必须匹配"哈"n次
哈{1,5}   最少匹配"哈"1次,最多5次

3、匹配多个字符
例:
[0-9]           匹配一个字符,字符可以是0~9
[a-zA-Z]{2}     匹配2个字符,字符可以是任何字母

4、起始匹配断言:^
以^开头的正则表达式必须从开头匹配
例:
字符串:qwertyuiop
以[a-zA-Z]{2}匹配会匹配整个字符串(因为这个字符串任何两个相邻的字符都符合这个正则表达式)
以^[a-zA-Z]{2}匹配则匹配开头的qw

5、结尾匹配断言:$
以$结尾的正则表达式必须从结尾匹配
例:
字符串:qwertyuiop
以[a-zA-Z]{2}$匹配则匹配结尾的op

6、同时使用^和$
同时使用两者是从开头和结尾都要同时匹配
例:
^[a-zA-Z]{2}$   匹配的内容必须是2个字符的字母

7、用特殊符号代替常见的组合
例:
[0-9]   用\d代替(数字)
{0,1}   用?代替
要匹配0~99的数:^[0-9]{1,2}$(或^[0-9][0-9]{0,1}$)就可以写成:^\d{1,2}$(或^\d\d?$)
其他:
\f      换页
\n      换行
\r      回车
\t      制表符
\xhhhh  一个16进制数
.       一个任意字符
\D      一个非数字
\s      一个空白符(包括\n、\f、\t、\r、""等)
\S      一个非空白符
\w      一个单词字符(即:[A-Za-z0-9_])
\W      一个非单词字符

8、特殊符号^
^除了上面说的放在开头表示从开头匹配还可以放在方括号里表示相反的意思
例:
匹配abc中任何一个:[a-c](或[abc])
匹配一个字符但abc除外:[^a-c](或[^abc])

9、量词代替
?       0次或1次,即:{0,1}
+       1次或多次,即:{1,}    注意:这里要是设置setMinimal(false);设置非贪婪匹配,匹配到1次就停下
*       0次或多次,即:{0,}
{n,}    最少n次
{,n}    最多n次,即:{0,n}

10、其他断言
\b      单词边界
\B      非单词边界
(?=E)   表达式后面跟E才匹配,这里的?不再表示0次或1次
例:
啊啊啊啊呵呵啊啊啊啊嘿嘿嘿   表达式:啊(?=嘿) 当"啊"后面跟着"嘿"才匹配,匹配结果是"嘿"前面的"啊"
(?!E)   表达式后面没有跟着E才匹配

一个正则表达式匹配的工具代码:RegExp.zip-C++文档类资源-CSDN下载 

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值