1. 程式人生 > >python進階(2)——re模組:正則表示式1

python進階(2)——re模組:正則表示式1

實驗結果輸出文件,包括多項引數(大約幾百個),想把所有的loss value對應的值提取出來,畫出曲線圖,這就需要用到正則表示式,基於此,開始學習正則表示式。

正則表示式:可匹配文字片段的模式

萬用字元:句點.(.ython與jpython與python與 ython都匹配,但不與ython不與tpython匹配,因為一個句點只匹配一個字元,而不與零或兩個字元匹配,除換行符外與其他字元都匹配。

特殊字元:萬用字元也屬於特殊字元,例,想要匹配‘python.org’,可以直接使用模式‘python.org’,但它也與‘pythonzorg'匹配(因為.是萬用字元啊,滑稽臉~)想要特殊字元與普通字元一樣,可對其進行轉義(2種方式)

python\\.org  #兩個反斜槓包括兩層轉義:直譯器執行的轉義,模組re執行的轉義
r'python\.org' 

字符集:[],只能匹配一個字元

                    例如,[pj]ython與python與jython匹配

                    可使用範圍:[a-z]與a~z的任何字母都匹配

                    [a-zA-Z0-9]與大寫字母,小寫字母,數字都匹配

二選一模式:管道字元 |

python|perl

子模式:

p(ython|erl)

可選模式:在子模式後面加上問號

r'(http://)?(www.)?python\.org'

重複模式
 

(pat)*    #可重複多次
(pat)+   #可重複1或多次
(pat){m,n}   #可重複m~n次

確定字串的開頭和末尾是否與模式匹配:^,$