Python文字列内の特殊文字をエスケープする 質問する

Python文字列内の特殊文字をエスケープする 質問する

Python には文字列内の特殊文字をエスケープするために使用できる関数がありますか?

たとえば、I'm "stuck" :\は になりますI\'m \"stuck\" :\\

ベストアンサー1

使用re.escape

>>> import re
>>> re.escape(r'\ a.*$')
'\\\\\\ a\\.\\*\\$'
>>> print(re.escape(r'\ a.*$'))
\\\ a\.\*\$
>>> re.escape('www.stackoverflow.com')
'www\\.stackoverflow\\.com'
>>> print(re.escape('www.stackoverflow.com'))
www\.stackoverflow\.com

ここで繰り返します:

re.escape(文字列)

すべての非英数字をバックスラッシュで区切った文字列を返します。これは、正規表現のメタ文字を含む可能性のある任意のリテラル文字列を一致させたい場合に便利です。

Python 3.7 以降では、re.escape()正規表現操作に意味のある文字のみをエスケープするように変更されました。

おすすめ記事