1. 程式人生 > >python正則表示式 re (二)sub

python正則表示式 re (二)sub

背景:

re.sub是re模組重要的組成部分,並且功能也非常強大,主要功能實現正則的替換。
re.sub定義:
sub(pattern, repl, string, count=0, flags=0)
Return the string obtained by replacing the leftmost
non-overlapping occurrences of the pattern in string by the
replacement repl. repl can be either a string or a callable;
if a string, backslash escapes in it are processed. If it is
a callable, it’s passed the match object and must return
a replacement string to be used.
主要的意思為:對字串string按照正則表示式pattern,將string的匹配項替換成字串repl。
公式解析:
pattern

為表示正則中的模式字串,
repl為replacement,被替換的內容,repl可以是字串,也可以是函式。
string為正則表示式匹配的內容。
count:由於正則表示式匹配到的結果是多個,使用count來限定替換的個數(順序為從左向右),預設值為0,替換所有的匹配到的結果。
flags是匹配模式,可以使用按位或’|’表示同時生效,也可以在正則表示式字串中指定。(詳情見連結)

舉例:

>import re
>re.sub(r'\w+','10',"ji 43 af,geq",2,flags=re.I)
'10 10 af,geq'

詳解:首先匯入re模組,使用re.sub函式,r’\w+’為正則表示式,匹配英文單詞或數字,’10’為被替換的內容,”ji 43 af,geq”為re匹配的字串內容,count為2 只替換前兩個,flags=re.I 忽略大小寫。
輸出部分自行理解。