-
1 text = 'The Attila the hun show' 2 m = re.match('.',text)#任意单个字符 3 m.group() 4 'T' 5 6 m = re.match('.*',text)#任意个字符 7 m.group() 8 'The Attila the hun show'
- 匹配单个字符
字符 描述 . 匹配任意字符(除了\n) [] 匹配[]中列举的字符 \d 匹配数字,即0-9 \D 匹配非数字 \s 匹配空格 \S 匹配非空格 \w 匹配字母 \W 匹配非字母 - 匹配多个字符
字符 描述 * 匹配前一个字符出现0次或者无限次,即可有可无 + 匹配前一个字符出现1次或者无限次,即只有有1次 ? 匹配前一个字符出现1次或者0次,即要么有1次,要么没有 {} 匹配前一个字符出现m次 {m,n} 匹配前一个字符出现从m到n次 - 匹配开头和结尾
字符 描述 ^ 开头 $ 结尾 - 匹配分组
字符 描述 | 匹配左右任意一个表达式 (ab) 将括号中字符作为一个分组 \<num>
引用分组num匹配到的字符串(?P<name>) 分组起别名 (?P=name) 引用别名为name分组匹配到的字符串 -
search
扫描整个字符串并返回第一个成功的匹配。
1 ret = re.search(r"\d+",'本人高2米4') 2 ret.group() 3 '2'
-
findall
扫描整个字符串并返回所有成功的匹配。
1 ret = re.findall(r'\d+',’本人高2米4‘) 2 print ret 3 ['2','4']
-
split
根据匹配进行切割字符串,并返回一个列表。ret = re.split(r" |:",'info:xiaoming 33 shanxi') ret ['info', 'xiaoming', '33', 'shanxi']
-
sub
将匹配到的数据进行替换。 -
1 ret = re.sub(r"\d+",'3','本人高2米4') 2 print ret 3 本人高3米3