6

プレーン文字列として解釈されない可能性のある括弧やその他の文字を含む可能性のある文字列を検索しようとしています。

def findstring(string, text):
    match = re.search(string, text)

文字列は別のモジュールから派生しているため、制御しません。私の問題は、文字列に"xyz)"が含まれている可能性があることです。これにより、一致しない括弧があることを示すエラーが発生します。

私はすでに成功せずにこれを試しました

match = re.search(r'%s' % string, text)
4

1 に答える 1

11

re.escape()文字列をエスケープするために使用できます。

match = re.search(re.escape(string), text)

ドキュメントから:

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

于 2013-09-30T15:10:35.483 に答える