私は現在、現在、次の正規表現パターンに一致することになっている、特定の語句に一致するようにフレームワークを使用するアプリケーションを書いている:Pythonのre.compileカーリー引用符の問題
Say \"(.*)\"
しかし、私は通知をしました
Say "Hello world!" <-- Matches
Say “Hello world!” <-- Doesn't match!
は、私はPythonの正規表現を伝えることができますどのような方法があります:私のユーザーは、自分のOSが時々コピーおよびペースト「カーリー引用符」で、何が起こって終わることは、ユーザーが次の文を提供することをあるという事実について訴えていることこれらの中かっこを同じように扱う定期的な引用符?
編集:
はあなたが非常に簡単にUnicode文字列を使用して正規表現を読み取るためのPythonを伝えることができ判明、私は次のように私のコードを変更し、それが働いた:
u'Say (?:["“”])(.*)(?:["“”])'
# (?:["“”]) <-- Start non-capturing group, and match one of the three possible quote typesnot return it
# (.*) <-- Start a capture group, match anything and return it
# (?:["“”]) <-- Stop matching the string until another quote is found
あなたが無視する、またはそれを扱う意味ですかまっすぐ引用符として? – ShadowFlame
@ShadowFlameこれを同じものとして扱います。つまり、使用している現在のマッチ、またはすぐに使用できるコードサンプルを投稿できますか? – Paradoxis
?とPythonのバージョン – ShadowFlame