Python3
打开python开发工具IDLE,新建‘zzmatch.py’文件,写代码如下:import re pattern = re.compile(r'\d+') m = pattern.match('hheh7777') print (m)
F5运行代码,打印出None这是因为match是从起始位置开始查找,起始位置并不是数字所以匹配不上
match函数也可以传递位置参数,是两个可选参数,这样就不会从起始位置进行匹配,修改代码如下:import re pattern = re.compile(r'\d+') m = pattern.match('hheh7777',3,7) print (m)
F5运行程序,依然打印出None这是因为下标从0开始算
修改代码,匹配到字符串的数字,这里用到了group分组的方法,因为只有一个分组所以group参数为空import re pattern = re.compile(r'\d+') m = pattern.match('hheh7777',4,7) print (m.group())
F5运行代码,打印出数字,因为只截取到第七位,所以只有三位数字
举个负责点的例子,修改代码如下:import re pattern = re.compile(r'([a-z]+) ([a-z]+)',re.I) #注意两个括号间有空格 m = pattern.match('nihao Nihao WE') print (m) print (m.group()) print (m.group(0)) print (m.group(1)) print (m.span(1)) print (m.group(2)) print (m.span(2)) 这里括号代码分组,group()和group(0)代表所有内容,group(1)是第一个分组,group(2)是第二个分组,span(1)是第一个分组下标,span(2)是第二个分组下标
F5运行代码,打印内容如下图