3

Python 正規表現を使用してピリオド (ピリオド) を検索するときに、文字列プレフィックス "r" を使用したときに同じ結果が得られる理由とそうでない理由を知りたいです。

いくつかのソース (以下のリンク) を何度も読み、コードで実験して同じ結果を見つけた後 (再度以下を参照)、私はまだ確信が持てません:

  1. 正規表現を使用してピリオドを探すときに、文字列プレフィックス「r」を使用する場合と文字列プレフィックス「r」を使用しない場合の違いは何ですか?
  2. 文字列接頭辞「r」または文字列接頭辞「r」なしのPython正規表現を使用して、文字列内のピリオドを見つける正しい方法はどれですか?

re.compile("\.").sub("!", "blah.")

「ああ!」

re.compile(r"\.").sub("!", "blah.")

「ああ!」

re.compile(r"\.").search("blah.").group()

「.」

re.compile("\.").search("blah.").group()

「.」

私が見たソース:

Python ドキュメント: 文字列リテラル http://docs.python.org/2/reference/lexical_analysis.html#string-literals

「エスケープされた」文字を元の文字に置き換える正規表現

Python 正規表現 - r プレフィックス

rプレフィックスは生の文字列用です http://forums.udacity.com/questions/7000217/r-prefix-is-for-raw-strings

4

1 に答える 1