Python 正则表达式元字符、re 模块

1、元字符

.   ^   $   *   +   ?   {}  []   \   |   ()
大多数字母和字符会匹配它们自身,有少数特殊字符我们称为元字符,
它们不能匹配自身,它们定义了字符类、子组匹配和模式重复次数等

.    # 匹配除换行符之外的所有的字符
\d   # 匹配0~9的数字   
\s   # 匹配任意的空白符,包括空格,制表符(Tab),换行符等
\w   # 匹配字母或数字或下划线或汉字等 
\b   # 表示单词的边界     
^    # 脱字符,匹配输入字符串的开始的位置
$    # 匹配输入字符串的结束位置
\.   # 表示匹配点号本身
\D、\S、\W、\B  # 与小写字母的作用相反
\D   # 除了数字以外的字符

匹配次数
{M,N}    # M和N 为非负整数,其中M<=N 表示前面的匹配M~N次
{M,}    # 表示需要匹配M次
{,N}    # 等价于{0~N}
{N}      # 表示需要匹配N次
*        # 匹配前面的子表达式零次或多次,等价于{0,}
+        # 匹配前面的子表达式一次或多次,等价于{1,} # 匹配前面的子表达式零次或一次,等价于{0,1}
注:*?、+?、{n,m}?  贪婪与懒惰

子组匹配
[ ]   字符类,将要匹配的一类字符集放在 [] 里面
例如:
[ . ? * ( ) {} ]     # 匹配里面的这些符号
[0-9]                # 匹配0到9的数字相当于 \d
[^\d]                # 匹配除数字以外的字符,相当于 \D
[a-z]                # 匹配所有的小写字母
[^a-z]               # 匹配非小写字母
|                    # 相当于或(or)分支条件
例如:
A | B                # 匹配字母 A 或 B,与 [AB] 是一样的

分组
()  分组,将要匹配的一类字符集放在 () 组成一个小组 
例如:
(\d){3}    # 匹配一个三位数
a(bc)*     # 匹配一个a和0个或多个bc
a(b|c)     # 匹配ab或者ac

2、re模块

re 模块的常用方法:
re.compile() # 编译正则表达式为模式对象
match()      # 判断一个正则表达式是否从开始处匹配字符串   
search()     # 遍历字符串,找到正则表达式匹配的第一个位置   
findall()    # 遍历字符串,找到正则表达式匹配的所有位置并以列表的形式返回

查看匹配对象中的信息:
group()   # 返回匹配到的字符串
star()    # 返回匹配的开始位置
end()     # 返回匹配的结束位置
span()    # 返回一个元组表示匹配位置(开始,结束)
sub       # 替换
split     # 与字符串方法 split 类似
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值