“”“author:Orange “””
匹配对象
result = re.match(r'(\d{2})([a-z]{3})([A-Z]{2})', '54knmADSgngin') print(result) print(result.group())匹配对象.group() / 匹配对象.group(0) - 获取整个正则匹配到的子串 匹配对象.group(N) - 获取第N个分组匹配到的子串
匹配对象.span() print(result.span()) print(result.span(2)) # (2, 5)
search(正则, 字符串) - 在字符串中查到第一个满足正则要求的子串,如果找到了返回匹配对象,找不到返回None findall(正则, 字符串) - 在字符串中查找所有满足正则要求的子串, 返回值是列表, 列表中的 元素是字符串,如果找不着返回[]列表 re.finditer(正则, 字符串) - 获取字符串中所有满足正则的子串, 返回值是迭代器, 迭代器中的元是匹配对象
有两个或者两个以上的分组: [(‘sd’, ‘236’), (‘sd’, ‘235’)] print(re.findall(r’([a-z]{2})(\d{3})’, ‘asd2365as56d52z3ad5—dsd235’))
split(正则, 字符串) - 将字符串中满足正则的子串作为切割点 sub(正则, 字符串1, 字符串2) - 将字符串2中满足正则的子串全部替换成字符串1 print(re.split(r’\d+’, ‘asd2365as56d52z3ad5—dsd235’)) print(re.sub(r’\d+’, ‘+’, ‘asd2365as56d52z3ad5—dsd235’))