python正则表达式

一、正则表达式常用的字符集
[abc]  表示匹配a、b、c中的任意一个字符
[a-z]  表示匹配a到z之间的任意一个小写字母
[A-Z]  表示匹配A到Z之间的任意一个大写字母
[0-9]  表示匹配0到9之间的任意一个数字
[^abc]  表示匹配除了a、b、c之外的任意一个字符,^在字符集里表示取反
[0-9a-zA-Z]  表示匹配0-9之间、a-z之间、A-Z之间的任意某个字符

\d   匹配数字,即[0-9]
\D   匹配非数字,即不是数字,[^0-9]
\s   匹配空白,即 空格,tab键(制表符),换行符
\S   匹配非空白
\w   匹配非特殊字符,匹配任意一个字母、数字或下划线,相当于[a-zA-Z0-9_]
\W   匹配特殊字符,匹配任意一个非字母、数字或下划线,相当于[^a-zA-Z0-9_]

二、 re模块的相关方法

1、re.match(pattern, string, flags=0)
res = re.match(r'\d+', '123abc123')  # 返回一个对象
if res:
    print(res)  # <re.Match object; span=(0, 3), match='123'>
    print(res.group(), type(res.group()))  # 123 <class 'str'>
else:
    print('不匹配')
2、re.search(pattern, string, flags=0)
# 返回匹配的第一个位置的值
res = re.search(r'\d+', "ab - 6 5xy")
if res:
    print(res.group())  # 6
else:
    print('不匹配')
3、re.findall(pattern, string, flags=0)
# 查找所有匹配的值,并返回一个存放匹配结果的列表
res = re.findall(r'\d+', '12abcd45lk09')
print(res)  # ['12', '45', '09']
4、re.finditer(pattern, string, flags=0)
# 用于搜索字符串中与正则表达式匹配的所有子串,并返回一个迭代器。
# 取值需要用for循环 + group()
res = re.finditer(r'\d+', '45asd3')
for i in res:
    print(i.group())  # 45 3
5、r
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值