2013-12-16 181 views
3

昨天,我需要一個文件路徑添加到一個正則表達式創建一個像這樣的模式:正則表達式逃脫正則表達式

"some_pattern/%s/more_pattern" % some_path 

在開始時,正則表達式不匹配,因爲some_path包含 幾個正則表達式的具體符號,如?.。作爲快速修復,我用[?]{1}.\.替換了它們。

但是,我問自己是否沒有更可靠或更好的方法來清理正則表達式特定符號中的字符串。

  • Python標準庫支持這種功能嗎?
  • 如果不是,你知道一個正則表達式來識別所有正則表達式符號,並通過替換清理它們嗎?

回答

6

只是申請re.escape,你會沒事的。

re.escape(string)

返回字符串的所有非字母數字 反斜線;如果您想匹配可能包含正則表達式元字符的任意字面值 字符串,這非常有用。