有模式对象
import re
pat = re.compile('AA') #此处的AA,是正则表达式,用来去验证其它的字符串
m = pat.search('CBA') #search字符串被校验的内容
print(m)
运行结果:
None
import re
pat = re.compile('AA') #此处的AA,是正则表达式,用来去验证其它的字符串
m = pat.search('ABCAA')
print(m)
运行结果:
<re.Match object; span=(3, 5), match='AA'>
m = pat.search('AABCAADDCCAAA')
运行结果:
<re.Match object; span=(0, 2), match='AA'>
说明用search只能比对找到第一个目标
没有模式对象
m = re.search('asd','Aasd')
#前面的字符串是规则(模板、正则表达式),后面的字符串是被校验的对象
print(m)
findall可以找到所有符合条件的对象
print(re.findall('a','ASDadfAda'))
#前面的字符串是规则(模板/正则表达式),后面的字符串是被校验的对象
运行结果:
['a', 'a']
print(re.findall('[A-Z]','ASDadfAda'))
运行结果:
['A', 'S', 'D', 'A']
print(re.findall('[A-Z]+','ASDadfAda'))
运行结果
['ASD', 'A']
5.sub
print(re.sub('a','A','abcdasd')) #找到a用A替换,在第三个字符串中查找
运行结果:
AbcdAsd
在正则表达式中,在被比较的字符串前面加上r,不用担心字符的问题