正则表达式学习
re模块的学习
re模块常用函数
compile(pattern, flags=0)
Compile a regular expression pattern, returning a pattern object.
通过help可知:编译一个正则表达式模式,返回一个模式对象。
从compile()函数的定义中,可以看出返回的是一个匹配对象,它单独使用就没有任何意义,需要和findall(), search(), match()搭配使用。
测试:
写法一:有模式对象
import re
pat=re.compile("AA") #此处的AA,是正则表达式,用来去验证其他的字符串
m=pat.search("CBAA") #(2,4)是因为左闭右开区间
m1=pat.search("CBDAADCAA") #只找出第一个AA
# saerch方法进行比对查找,search字符串是被校验的内容
print(m,m1)
写法二:简单的写法
import re
#pat=re.compile("AA") #此处的AA,是正则表达式,用来去验证其他的字符串
# m=pat.search("CBAA") #(2,4)是因为左闭右开区间
# m1=pat.search("CBDAADCAA") #只找出第一个AA
m=re.search("asb","Aasb") #前面的字符串是规则(模板),后面的字符串是被校验的对象
print(m)
re.findall()
找到符合前面规则的字符串,并且一个一个的放到列表中去。
import re
#pat=re.compile("AA") #此处的AA,是正则表达式,用来去验证其他的字符串
# m=pat.search("CBAA") #(2,4)是因为左闭右开区间
# m1=pat.search("CBDAADCAA") #只找出第一个AA
#m=re.search("asb","Aasb") #前面的字符串是规则(模板),后面的字符串是被校验的对象
print(re.findall("ab","ASDabBbBGFJaab"))
sub()
import re
#pat=re.compile("AA") #此处的AA,是正则表达式,用来去验证其他的字符串
# m=pat.search("CBAA") #(2,4)是因为左闭右开区间
# m1=pat.search("CBDAADCAA") #只找出第一个AA
#m=re.search("asb","Aasb") #前面的字符串是规则(模板),后面的字符串是被校验的对象
print(re.sub("a","A","ASDaFJaab")) #找到a,用A替换,在第三个字符串中查找。
可以用在将换行替换为空格,或者逗号替换为别的符号这样的场景。
注意: