python進階(2)——re模組:正則表示式1
阿新 • • 發佈:2018-11-10
實驗結果輸出文件,包括多項引數(大約幾百個),想把所有的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次
確定字串的開頭和末尾是否與模式匹配:^,$