2016-12-16 1 views
0

파이썬 2 스크립트를 파이썬 3로 변환하려고합니다. 어떻게 유니 코드로 정규식을 할 수 있습니까? 이것은 내가 뭔가를 할 따옴표«과»을 대체 작동 파이썬 2에서 한 것입니다Python 3의 유니 코드 정규식

:

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

나는 "UR"그렇게 쉽게 만들어 정말 복잡한 사람이있다. 하지만 파이썬 3에서 작동하지 않습니다 Python3에서

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

+0

파이썬 3에서는 모든 문자열이 기본적으로 유니 코드이므로 'u'는 필요하지 않습니다. 'u' 접두사는 생략하십시오. –

+0

@Klaus D. IMO는 복제물이 아닙니다. 참조 된 질문은 python 2.x입니다. – mkiever

+0

고마워요. 'u'를 제거하면 문제가 해결되었습니다. –

답변

1

모든 문자열은 기본적으로 유니 코드입니다. u 만 제거하면 문제가 없습니다.

Python2에서 문자열은 기본적으로 바이트 목록이므로 u을 사용하여 유니 코드 문자열로 표시합니다.

0

파이썬 3.0 이후, 언어는 '! 유니 코드 바위', '! 유니 코드 바위 "를 사용하여 만든 임의의 문자열을 의미 을 유니 코드 문자를 포함 STR 종류, 또는 트리플 인용 문자열 구문은 다음과 같이 저장됩니다 유니 코드.

Unicode HOWTO이 문서가 도움이 될 것입니다.

여러분이 파이썬 2에서하는 모든 일을 원한다면, 효과가 있고, 효과가 없을 것입니다.

관련 문제