1.正則表達式中"."(點號)能夠匹配全部字符。若是要匹配點號則加上反斜槓(\)。正則表達式
2.匹配數字則用\d。spa
3.[ ]中括號用來建立字符類,能夠匹配其中的任意一個字符,可是注意正則表達式是區分大小寫的。例如:rre3d
re.search(r'[aeiou]','I love you') 結果是blog
匹配到了o字母,爲何沒有匹配開頭的I,由於他是大寫。ip
另:若這樣寫[a-z],則會匹配26個小寫字母。同理,也能夠寫[0-9],[1-9]這樣的字符類。io
4.能夠這樣寫re.search(r'ab{3}c','abbbc'),大括號表示要重複三次前面的字符 。效率
甚至能夠給重複次數一個範圍:re.search(r'ab{3,10}c','abbbc')三到十次均可以匹配。程序
5.那麼問題來了,如何匹配ip地址的0-255範圍呢:re.search(r'[01]\d\d|2[0-4]\d|25[0-5]','192')便可。im
可是ip地址的最後兩位可能出現個位數如:192.168.1.1,如何解決呢?db
re.search(r'[01]{0,1}\d{0,1}\d|2[0-4]\d|25[0-5]','192')設置前兩位重複一次或零次。
6. Python3 正則表達式特殊符號及用法
注:①*表示零到正無窮 ②+表示一到正無窮 ③?表示0或1.儘可能使用這三個符號而不是大括號,這樣程序會更簡潔,效率也會更高。
④*和+都是默認使用貪心策略,儘量多的匹配,若是要關閉貪心,則在+或*後面加上一個?便可。
7.特殊符號分爲①元字符②\+特殊字符
\+元字符會使元字符失去原有的功能。
字符類是把[ ]內的內容當作普通字符匹配,除了幾個特殊字符,好比[a-z]表示a到z