Python 2のスクリプトをPython 3に変換しようとしています。どのように正規表現をUnicodeで行うのですか?
これはPython 2で動作していたものです。«と»の引用符を置き換えます:
text = re.sub(ur""(.*?)"", ur"«1»", text)
私はいくつかの本当に複雑なものを持っていて、 "ur"はそれをとても簡単にしました。しかし、Python 3ではうまくいきません。
text = re.sub(ur"هsایم([].،:»)s])", ur"هu200cایم1", text)
回答:
回答№1は1Python3のすべての文字列はデフォルトでUnicodeです。ちょうど u
あなたは大丈夫でしょう。
Python2では、文字列はデフォルトではバイトのリストなので、 u
それらをユニコード文字列としてマークします。
回答№2の場合は0
Python 3以降。0の場合、言語には以下を含むstr型があります。 ユニコード文字は、「ユニコードロック」を使用して作成された文字列を意味し、 "unicode rocks!"、または三重引用符で囲まれた文字列構文は Unicode。
Unicode HOWTO この文書はあなたを助けるでしょう。
だから、あなたはPython2のすべてのことをやりたいだけで、効果はありません。