python 正規表示式

2021-10-05 15:06:39 字數 4058 閱讀 6157

1.單字元匹配規則

eg.

import re

re1=r'.'

res=re.findall(re1,'\new7789\n99dc&*')

print(res)

結果:

['e', 'w', '7', '7', '8', '9', '9', '9', 'd', 'c', '&', '*']
eg.

import re

re2=r"[abc]"

res2=re.findall(re2,'323dsdsfa45bsdcc44')

print(res2)

結果:

['a', 'b', 'c', 'c']
eg.

import re

re3=r'\d'

res3=re.findall(re3,"dsad56gf89")

print(res3)

結果:

['5', '6', '8', '9']
eg.

import re

re4=r'\d'

res4=re.findall(re4,"dsa@#d56g]:f89")

print(res4)

結果:

['d', 's', 'a', '@', '#', 'd', 'g', ']', ':', 'f']
eg.

import re

re5=r"\s"

res5=re.findall(re5,"a s c 666")

print(res5)

結果:

[' ', ' ', ' ', ' ']
eg.

import re

re6=r"\s"

res6=re.findall(re6,"a s c 666")

print(res6)

結果:

['a', 's', 'c', '6', '6', '6']
eg.

import re

re7=r"\w"

res7=re.findall(re7,"a b ...%$8%_dd_h")

print(res7)

結果:

['a', 'b', '8', '_', 'd', 'd', '_', 'h']
eg.

import re

re8=r"\w"

res8=re.findall(re8,"a b ...%$8%_dd_h")

print(res8)

結果:

[' ', ' ', '.', '.', '.', '%', '$', '%']
2.多個字元匹配規則

eg.

import re

re1=r"1[3456789]\d"

res1=re.findall(re1,"ewe13456458906fg15834685478re14797678653")

print(res1)

結果:

['13456458906', '15834685478', '14797678653']
eg.

import re

re2=r"\d"

res2=re.findall(re2,"qw123468gdg8585959cdcd58498489d4984")

print(res2)

結果:

['8585959', '58498489']

eg.

import re

re3 = r"\d"

res3 = re.findall(re3, "q11qw123qq468111gdg8585959cdcd5849848d4984")

print(res3)

結果:

['123', '46811', '85859', '58498', '4984']
eg.

import re

re4=r"\d?"

res4=re.findall(re4,"q11qw123qq468111gdg8585959cdcd5849848d4984")

print(res4)

結果:

['123', '468', '111', '858', '595', '584', '984', '498']
eg.

import re

re5=r"\d*"

res5=re.findall(re5,"212fe18485df264s1s556")

print(res5)

結果:

['212', '', '', '18485', '', '', '264', '', '1', '', '556', '']
eg.

import re

re6=r"\d+"

res6=re.findall(re6,"212fe18485df264s1s556")

print(res6)

結果:

['212', '18485', '264', '1', '556']
3.邊界匹配

eg.

import re

re1=r"^python"

res1=re.findall(re1,"python999python")

print(res1)

結果:

['python']
eg.

import re

re2=r"python$"

res2=re.findall(re2,"python999python")

print(res2)

結果:

['python']
eg.

import re

re3 = r"\bpython"

res3 = re.findall(re3, "python999 python")

print(res3)

結果:

['python', 'python']
eg.

import re

re4=r"\bpython"

res4=re.findall(re4,"python999python")

print(res4)

結果:

['python']
eg1(乙個分組)

import re

re5=r"aa(\d)bb"

res5=re.findall(re5,"ftf666776aa123bb787aa456bb")

print(res5)

結果:

['123', '456']
eg2(兩個分組)

re6=r"aa(\d)bb(\d)cc"

res6=re.findall(re6,"ftf666776aa123bb787cc456bb")

print(res6)

結果:

[('123', '787')]

python正規表示式元字元 正規表示式

字元 描述將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個 向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開始位置。如果設定了 regexp 物件的 multiline 屬性,也匹配 n 或 r 之後的位置。匹配輸入字串的結束...

Python 正規表示式

1.在python中,所有和正規表示式相關的功能都包含在re模組中。2.字元 表示 字串的末尾 如 road 則表示 只有當 road 出現在乙個字串的尾部時才會匹配。3.字元 表示 字元中的開始 如 road 則表示 只有當 road 出現在乙個字串的頭部時才會匹配。4.利用re.sub函式對字串...

Python正規表示式

學習python自然而然就不得不面對正規表示式這個難題。當初在沒有學習python之前,自己也曾經嘗試著學習過正規表示式,但是那時候感覺很麻煩,很難懂,結果就是不了了之。但是現在學習python我用的書是 python基礎教程 第二版 這本書中對re模組的講解很簡單易懂,內容不多但起碼把人領進門了,...