标签:imp 字符串 class 表示 输出 int 分组 else 切分
python提供re模块,包含所有正则表达式的功能
使用r前缀,不用考虑转义问题
如:
s = r‘ABC\-001‘
判断是否匹配,如果匹配成功,返回一个Match对象,否则返回None
如:
import re if re.match(r‘\w‘, ‘afefe‘): print(‘match‘) else: print(‘no‘)
如果可以切分,返回切分后的列表;如果不能,以列表返回原字符串
import re print(re.split(r‘\s+‘, ‘a ,b d‘)) 输出: [‘a‘, ‘,b‘, ‘d‘]
提取子串,()表示提取的分组
import re r = re.match(r‘(\d+)-(\d+)‘, ‘010-059‘) print(r.groups()) print(r.group(1)) #group(0)表示原字符串,1表示第一个匹配到的
输出:
(‘010‘, ‘059‘)
010
正则匹配默认是贪婪匹配,也就是匹配尽可能多的字符
import re r = re.match(r‘^(\d+)(0*)$‘, ‘010000‘).groups() print(r)
输出:
(‘010000‘, ‘‘)
import re r = re.match(r‘^(\d+?)(0*)$‘, ‘010000‘).groups() print(r)
输出:
(‘01‘, ‘0000‘)
当我们在Python中使用正则表达式时,re模块内部会干两件事情:
如果一个正则表达式要重复使用几千次,出于效率的考虑,我们可以预编译该正则表达式,接下来重复使用时就不需要编译这个步骤了,直接匹配:
import re re_num = re.compile(r‘^(\d+?)(0*)$‘) r = re_num.match(‘010000‘).groups() print(r)
标签:imp 字符串 class 表示 输出 int 分组 else 切分
原文地址:https://www.cnblogs.com/itfenqing/p/10261933.html