1. 程式人生 > >Python正則表示式學習(1)——re.sub()基礎

Python正則表示式學習(1)——re.sub()基礎

re.sub(pattern,repl,string,count = 0,flags = 0
  • re.sub用於替換字串中的匹配項
  • 個人理解:返回將string中的pattern部分替換為repl的字串
  • 返回通過替換repl替換字串中最左側不重疊的pattern的字串獲取的字串。
  • 如果沒有找到模式,則字串不會更改。
  • repl可以是一個字串或一個函式;
  • 如果是字串,則會處理其中的任何反斜槓轉義。 也就是說,\ n轉換為單個換行符,\ r轉換為回車符,依此類推。 未知的轉義,如\&被遺忘。
  • count預設為0,表示每個匹配項都替換。
>>> s
'asasddas:'
>>> 
re.sub(r'\:','',s) 'asasddas'

如果repl是一個函式,則會對每個不重疊的模式發生呼叫。 該函式採用單個匹配物件引數,並返回替換字串。 例如:

>>> def dashrepl(matchobj):
...     if matchobj.group(0) == '-': return ' '
...     else: return '-'
>>> re.sub('-{1,2}', dashrepl, 'pro----gram-files')
'pro--gram files'
>>> re.sub(r'\sAND\s'
, ' & ', 'Baked Beans And Spam', flags=re.IGNORECASE) 'Baked Beans & Spam'