正则表达式至关于匹配字符串。正则表达式
import respa
obj_re = re.mach(匹配规则,数据源)code
1 >>> import re 2 >>> obj_re = re.match("abc","def") 3 >>> print(obj_re) 4 None 5 >>> obj_re = re.match("abc","abcdef") 6 >>> print(obj_re) 7 <_sre.SRE_Match object; span=(0, 3), match='abc'> 8 #不匹配返回None,匹配则返回一个对象
1 >>> print(obj_re.group()) 2 abc 3 #obj_re.group()方法用来打印匹配的内容
1 # m = re.match("[0-9]",7) 2 # 这是错误的,7是数字,而不是字符串,这样会引起异常
m = re.match("[0-9]","aaa7") #不匹配,由于match()方法是从第一个字符开始匹配,切[0-9]只表明匹配第一个字符的可选范围 m = re.match("[0-9]","7aaa") #匹配
m = re.match("[0-9]{0,10}","7556aaa") if m : print(m.group()) >>> 7556 #{0,10}表示将前面的[0-9],连续的匹配0-10次,本例中的7556能够匹配
m = re.match("[0-9]{10}","7556aaa") >>> None #{0,10}表示将前面的[0-9],连续的匹配10次,本例中的7556没法知足匹配
m = re.findall("[0-9]","7556a9aa12") if m : print(m) >>> ['7', '5', '5', '6', '9', '1', '2'] #将全部的数字匹配出来,注意返回对象的类型
m = re.findall("[0-9]{1,10}","7556a9aa12") if m : print(m) >>> ['7556', '9', '12'] #将字符串中的数字匹配出来,数字能够使连续1-10个,连续的数字做为一个列表的元素, #就是匹配的项目按照连续次数的限制要求,做为一个总体
m = re.findall("[a-zA-Z]{1,10}","AS755sdddwe6a9aa12") if m : print(m)
>>> ['AS', 'sdddwe', 'a', 'aa']