天天看點

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)
# ***********************************************************