基础 - 正则表达式 ¶
作者:KK
发表日期:2020.03.12
判断是否匹配一个表达式 search ¶
re.search('\d+', 'abc123defg')
,匹配失败会返回 None,否则就是个 re.Match 对象。
只提取部分内容 search ¶
就是只提取括号里的匹配内容
import re
result = re.search('c(\d+)', 'abc123defg')
result.group() # c123 就是整个表达式匹配到的内容
result.group(1) # 123 就是第一个括号的内容
提取多部分内容 findall ¶
import re
result = re.findall(r'w(\d+).+x(\d+)', 'aaw123erereqx456')
print(type(result)) # list
print(result[0][0]) # 123
print(result[0][1]) # 456
替换内容 sub ¶
import re
result = re.sub('\d+', '____', 'abc123zyz')
print(result) # abc___xyz
少用的 - 从第一个字符开始匹配 ¶
re.match('abc', 'abcdefg')
,其实这就相当于re.search('^abc', 'abcdefg')
,两者的区别在于被匹配的字符串带有回车符造成多行内容时,match 只匹配第一行的起始,而 search 会匹配每一行的起始