天天看点

python之Re和正则表达式

python之Re和正则表达式
python之Re和正则表达式
  1. search:表示获取正则表达式在字符串中第一次出现的位置
import re
# pat代表创建一个正则表达式
pat = re.compile("AA")
# search搜索匹配的字符第一次出现的位置
# 运行结果 <re.Match object; span=(2, 4), match='AA'>
# span=(2,4) 表示改匹配的字符串出现在2-4的位置上
m = pat.search("CBAADC")
print(m)
           

上面的第二种写法

# 上面的第二种写法  第一个参数是正则表达式,第二个是匹配的字符
m = re.search("AA", "CBAADC")
           
  1. findall 将所有匹配的字符串搜索出来,第一个参数是正则,第二个参数是匹配的字符串
r2 = re.findall("[A-Z]", "SDaSfDgFSG3DfDfS")
# 运行结果 ['S', 'D', 'S', 'D', 'F', 'S', 'G', 'D', 'D', 'S']
print(r2)

r3 = re.findall("[A-Z]+", "SDaSfDgFSG3DfDfS")
# 运行结果 ['SD', 'S', 'D', 'FSG', 'D', 'D', 'S']
print(r3)
           
  1. sub 替换字符串
# 将第三个字符串参数中的所有小a替换承大A
r4 = re.sub("a", "A", "dfdfAsdfdfaSFsdafeadf")
print(r4)
           

这里运行结果没啥区别

# ***********************************************************
# 注意 在正则表达式中,被匹配的字符串前面加上r,就可以忽略转义字符的问题了
# 理论是这个理论,但是下面的例子没看出有什么区别
a = "\aaaaaa''\'"
print(a)
b = r"\aaaaaa''\'"
print(a)
# ***********************************************************