正規表示式:一種用來匹配字串的工具,根據不同型別的字串,有不同的描述性語言來定義。以下是部分描述性語言對應的匹配型別:
精確匹配:
\w
:匹配乙個字母或數字(word);
\d
:匹配乙個數字(digit);
.
:匹配任意字元;
\s
:匹配乙個空格,也包括tab等空白符;
如要匹配多個字元,在後面加如下**:
*
:表示任意個字元(包括0個)
+
:表示至少乙個字元
?
:表示0個或1個字元
:表示n個字元
:表示n--m個字元
例:匹配```'123-963210'```型別的**號
a :```\d\-\d``` 其中因為```-```是特殊字元,所以用```\```進行轉義
[ ]
的運用,可以用來表示範圍,比如:
注意:python字串中的特殊符號要用\進行轉義。re模組的運用要輸出'aa\bb' --- 'aa\bb'=>'aa�bb' ✖ ;'aa\bb'=>'aa\bb' ✔;
三個函式的運用
split(分割):
# 以s為界分割字串
import re # 呼叫re模組
a = ('boysgirlsgreat')
b = re.split(r's', a)
print(b)
# ['boy', 'girl', 'great']
compile(可以實現更有效率的匹配,因為使用compile完成一次轉換之後,在每次使用模式的時候就不用重複轉換,從而提高效率):
# 舉乙個簡單的例子,在尋找乙個字串中所有的英文本元:
import re
pattern = re.compile('[a-za-z]')
result = pattern.findall('as3siopdj#@23awe')
print result
# ['a', 's', 's', 'i', 'o', 'p', 'd', 'j', 'a', 'w', 'e']
findall(尋找所有符合條件的字元):
# 找出所有的數字
import re
a = re.compile('\d')
b = a.findall('sd2esds43asd')
print(b)
# ['2', '4', '3']
總結參考 python正則 python正則表達
正規表示式是一種用來匹配字串的強有力的 設計思想是用一種描述性的語言來給字串定義乙個規則,凡是符合規則的字串,就認為它 匹配 否則就不匹配。一 可以通過幾類符號設計限定規則,常用的思想如下 匹配除換行符以外的任意字元 w匹配字母 數字 下劃線或漢字 w匹配字母 數字 下劃線或漢字以外的字元 s匹配任...
數字正則表達
驗證數字 0 9 驗證n位的數字 d 驗證至少n位數字 d 驗證m n位的數字 d 驗證零和非零開頭的數字 0 1 9 0 9 驗證有兩位小數的正實數 0 9 0 9 驗證有1 3位小數的正實數 0 9 0 9 驗證非零的正整數 1 9 0 9 驗證非零的負整數 1 9 0 9 驗證非負整數 正整數...
正則表達試
d 匹配非負整數 正整數 0 0 9 1 9 0 9 匹配正整數 d 0 匹配非正整數 負整數 0 0 9 1 9 0 9 匹配負整數 d 匹配整數 d d 匹配非負浮點數 正浮點數 0 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 匹配正浮點數 d d 0...