Python re.escape() メソッド

Python re 模块Python re モジュール


re.escape()は Pythonreモジュール内で使用され、正規表現の特殊文字をエスケープする関数です。

この関数は、文字列内のすべての正規表現特殊文字(例:.、*、?など)をエスケープして、それらを通常の文字として扱えるようにします。

単語の意味: escape「エスケープ」「逃げる」という意味です。


基本構文とパラメータ

構文形式

re.escape(string)

パラメータの説明

  • string:エスケープする文字列

関数の説明

  • 戻り値:エスケープ後の文字列を返します。

実例

例1:基本的な使い方

実例

import re

# 特殊文字を含む文字列をエスケープ
text = "example.com?foo=1"

result = re.escape(text)

print("元の文字列:", text)
print("エスケープ後:", result)

実行結果の期待値:

原始: example.com?foo=1
转义后: example\.com\?foo\=1

例2:検索での使用

実例

import re

# ドットを含む文字列を検索(リテラルとして検索。正規表現ではない)
text = "ファイルパス: C:\\Users\\test.txt"

# バックスラッシュとドットをエスケープ
pattern = re.escape("C:\\Users\\test.txt")

result = re.search(pattern, text)

if result:
    print("見つかりました:", result.group())

実行結果の期待値:

找到: C:\Users\test.txt

例3:エスケープと非エスケープの比較

実例

import re

text = "price: $100"

# エスケープしない場合 - $ は正規表現では特殊文字(行末)
result1 = re.findall(r'$100', text)

# エスケープした場合 - $ は通常の文字として扱われる
result2 = re.findall(re.escape('$100'), text)

print("エスケープなし:", result1)
print("エスケープ後:", result2)

実行結果の期待値:

不转义: []
转义后: ['$100']

例4:ユーザー入力の処理

実例

import re

# ユーザーが入力する可能性のある特殊文字
user_input = "python*"

text = "python* is great"

# ユーザー入力をエスケープしてから検索
pattern = re.escape(user_input)
result = re.search(pattern, text)

print("検索結果:", result.group() if result else "見つかりません")

実行結果の期待値:

查找结果: python*

Python re 模块Python re モジュール

その他の拡張