天天看點

Python正規表達式小例--涉及貪婪/非貪婪比對,re.findall知識點

一、貪婪比對與非貪婪比對

正規表達式通常用于在文本中查找比對的字元串。正規表達式分為貪婪比對和非貪婪比對兩種:

  • 貪婪比對:總是嘗試比對盡可能多的字元(python中正規表達式預設是貪婪比對)
  • 非貪婪比對:總是嘗試比對盡可能少的字元(在"*","?","+","{m,n}"後面加上?,使貪婪變成非貪婪)

    可以通過下例,體會貪婪比對和非貪婪比對的差別。

    Python正規表達式小例--涉及貪婪/非貪婪比對,re.findall知識點

二、re.findall函數中正規表達式參數帶括号與不帶括号的差別

  • 帶括号:傳回的清單中隻包含括号内比對的字元
  • 不帶括号:傳回的清單是整個正規表達式比對的字元

    可以通過下例,體會差別。

    Python正規表達式小例--涉及貪婪/非貪婪比對,re.findall知識點

說明:本文是綜合多篇博文及QQ群發言而來,資料留存以備查閱!