/ / Regex Unicode в Python 3 (з коду Python 2) - python, regex, python-3.x, unicode, python-2.x

Реєкс формату Unicode в Python 3 (з коду Python 2) - python, regex, python-3.x, unicode, python-2.x

Я намагаюся перетворити свій сценарій Python 2 на Python 3. Як ми робимо Regex з Unicode?

Це те, що я маю в Python 2, який працює. Він замінює лапки на «і»:

text = re.sub(ur""(.*?)"", ur"«1»", text)

У мене є насправді складні, які "ур" зробив це так просто. Але це не працює в Python 3:

text = re.sub(ur"هsایم([].،:»)s])", ur"هu200cایم1", text)

Відповіді:

1 для відповіді № 1

Всі рядки в Python3 є унікальними за замовчуванням. Просто видаліть u і ви повинні бути в порядку.

У Python2 рядки - це списки байтів за замовчуванням, тому ми використовуємо u позначити їх як рядки Unicode.


0 для відповіді № 2

Оскільки Python 3.0, мовою є стиль str, який містить Unicode characters, тобто будь-який рядок, створений за допомогою "unicode rock!" "unicode rocks!", або синтаксис тривимірного цитування зберігається як Unicode.

HOWTO Юнікод Цей документ допоможе вам.

так що ви просто хочете, щоб кожен, хто ви робите в Python2, і це буде працювати, не матиме додаткових ефектів.