正则表达式

一.正则表达式的元字符:

 

1.匹配单个字符与数字:

(1).                               匹配出换行符以外的任意字符

(2)[0123456789]          [ ]是字符集合,表示匹配方括号所包含的任意一个字符,匹配任意数字

(3)[a-z]                         匹配任意小写字母

(4)[A-Z]                        匹配任意大写字母

(5)[0-9]                         匹配任意数字

(6)[0-9a-zA-Z]              匹配任意数字和字母

(7)[0-9a-zA-Z_]            匹配任意数字,字母和下划线

(8)[^sunck]                   匹配除了sunck这几个字母以外的所有字符,中括号里面的^称为脱字符,表示不匹配集合中的字符(脱字符外面要加中括号)

(9)\d                             匹配数字

(10)\D                          匹配非数字字符

(11)\w                          匹配数字,字母和下划线

(12)\W                         匹配非数字,字母和下划线的字符

(13)\s                           匹配任意的空白符(空格,换行,换页,制表,回车)

(14)\S                          匹配任意非空白符

 

2.锚字符(边界字符)

(1)^                              首行匹配,和在[ ]里的^不是一个意思

(2)$                             行尾匹配

(3)\A                            匹配字符串开始,它和^的区别是\A只匹配整个字符串的开头即使在re.M(python)模式下也不会匹配它行的行首

(4)\Z                            匹配字符串的结束,它和$的区别是,\Z只匹配字符串的结束,即使在re.M模式下也不会匹配它行的行尾

(5)\b                            匹配一个单词的边界,也就是指单词和空格间的位置

(5)\B                           匹配非单词边界

 

3.匹配多个字符

说明:下方的x,y,z和非负整数n,m均为假设的普通字符,不是正则表达式的元字符

(1)(xyz)                        匹配小括号内的xyz(作为一个整体去匹配)

(2)x?                            匹配0个或者1个x(非贪婪匹配)

(3)x*                             匹配0个或者任意多个x(贪婪匹配)

(4)x+                            匹配至少一个x(贪婪匹配)

(5)x{n}                          匹配确定的n个x(n是一个非负整数)

(6)x{n,}                         匹配至少n个x(贪婪匹配)
(7)x{n,m}                      匹配至少n个最多m个x,注意n<=m

(8)x|y                            |表示或,匹配x或y

 

4.特殊

(1)*?,+?,x?                    最小匹配,通常都是尽可能多的匹配,可以使用这种方法解决贪婪匹配

(2)(?:x)                          类似(xyz),但不表示一个组

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值