import re
pattern = re.compile('\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}')
matched = re.match(pattern, '192.12.23.32')
print(matched.group())
具體可以參考Python 正則表達式文檔。個人覺得不是很容易讀懂,只能邊用邊積累,而且一不用就忘光光。故此寫下筆記用作日後查詢。
以下解釋一下代碼。
re是python regular expression的包。
re.compile是把表達式先編譯好成狀態機,如果要後面重複使用這個pattern的話會快一點。
re.match第一個參數是pattern,第二個參數是string。pattern也可以用string代替。
matched = re.match('\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}', '192.12.23.32')
match是從頭開始找,如果在中間可以用re.search。
\d是數字,{1,3}是一到3個。\d{1,3}是1到3個數字。\.是一個點。如果不加\,.表示任意字元。