使用正则表达式引入模块re
import re
Ⅰ.使用.compile()方法创建一个正则表达式
pat = re.compile("AA")
如代码所示,pat只匹配AA的部分
Ⅱ.使用.search()来匹配
import re
pat = re.compile("AA") #匹配规则
m = pat.search("ASdsdAAiAAA") #对"ASdsdAAiAAA"进行匹配
print( m )
匹配后返回匹配是否成功,在哪匹配等信息.而且只匹配第一个出现位置
Ⅲ.使用.findall()方法来匹配
上面说到search()只能匹配第一个出现位置,那findall能匹配所有位置
.findall(字符串1,字符串2)
其中字符串1是匹配标准模板,字符串2是待匹配的串
import re
print(re.findall("[A-Z]","asaSasFSaasal")) #模板串使用了正则表达式,匹配一个大写字母
再来看一个
import re
print(re.findall("[A-Z]+","asaSasFSaasal")) #'+'表示匹配1个或多个
Ⅳ.替换方法.sub()
.sub(串1,串2,串3)
把串3中的串1都替换为串2
import re
print( re.sub('a','A','asdAaASaJK'))
最后建议在比较串前面加上r,可以不用担心转义的问题
如下面的代码
import re
a="\a\a\a\sds"
b=r"\a\a\a\sds"
print(a)
print(b)
$明显b更优秀$