/ / Python 3のUnicode正規表現(Python 2のコードから) - python、regex、python-3.x、unicode、python-2.x

Python 3のUnicode正規表現(Python 2のコードから) - python、regex、python-3.x、unicode、python-2.x

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は1

Python3のすべての文字列はデフォルトでUnicodeです。ちょうど u あなたは大丈夫でしょう。

Python2では、文字列はデフォルトではバイトのリストなので、 u それらをユニコード文字列としてマークします。


回答№2の場合は0

Python 3以降。0の場合、言語には以下を含むstr型があります。 ユニコード文字は、「ユニコードロック」を使用して作成された文字列を意味し、 "unicode rocks!"、または三重引用符で囲まれた文字列構文は Unicode。

Unicode HOWTO この文書はあなたを助けるでしょう。

だから、あなたはPython2のすべてのことをやりたいだけで、効果はありません。