Python 正規表示式- r 前綴
Python 的正規表示式模組支援r 前綴字串應被視為原始字串。這在使用轉義序列時特別有用,因為 r 前綴可防止 Python 將反斜線字元解釋為轉義字元。
但是,r 前綴是並不總是必要的。例如,即使不使用 r 前綴,在 Python 中無效的轉義序列仍將被解釋為轉義序列。例如,在第一個範例中:
import re print (re.sub('\s+', ' ', 'hello there there'))
正規表示式模式 ' 符合一個或多個空白字元。在這種情況下,不需要 r 前綴,因為反斜線字元不用作轉義字元(它只是定義要匹配的字元範圍)。
但是,r 前綴。例如,在第二個範例中:
import re print (re.sub(r'(\b\w+)(\s+\b)+', r'', 'hello there there'))
r 前綴,因為反斜線字元被用作轉義字元來定義單字的邊界。
最後,r 前綴如果使用原始字串,則不總是需要。例如,第三個範例與第二個範例等效:
import re print (re.sub('(\b\w+)(\s+\b)+', '', 'hello there there'))
r 前綴,但正規表示式模式仍被視為原始字串。這是因為整個字串文字都用單引號括起來,這在 Python 中表示原始字串。
總之,r 前綴並不總是必需的,但建議在使用時使用Python 中有效的轉義序列。
以上是什麼時候應該在 Python 正規表示式中使用 \'r\' 前綴?的詳細內容。更多資訊請關注PHP中文網其他相關文章!