Python (2.7) 스크립트에서 버그를 찾아내는 데 어려움을 겪고 있습니다. 특수 문자를 인식 할 때 sub 및 findall을 사용하는 것과 다른 점이 있습니다. 여기 Python의 정규 표현식과 유니 코드 : sub와 findall의 차이점
코드입니다 :>>> re.sub(ur"[^-'().,\w]+", '' , u'Castañeda', re.UNICODE)
u'Castaeda'
>>> re.findall(ur"[^-'().,\w]+", u'Castañeda', re.UNICODE)
[]
내가 findall은 사용
가 올바르게 알파벳 문자로 N 본다,하지만 난 서브를 사용할 때이 대체 - 알파벳이 아닌 문자로 치료.findall을 string.replace와 함께 사용하여 올바른 기능을 얻을 수 있었지만이 방법이 좋지 않은 것 같습니다. 또한 re.split을 사용하고 싶습니다. re.sub와 동일한 문제가 있습니다.
도움을 미리 감사드립니다.
어떤 버전을 사용하고 있습니까? 그것은 2.7.1에서 잘 작동합니다 – viraptor
ActivePython 2.7.1.4는 Python 2.7.1을 기반으로합니다. 저에게 잘 돌아 갔음을 알려 주셔서 감사합니다. 내 설치에 문제가있을 수 있습니다 ... 난 그냥 내 컴퓨터에있는 파이썬 2.6.4에서 그것을 시도하고 동일한 문제가 생기고 있어요 – user793061
우분투 11.04에서 콘솔에서 테스트했습니다. LANG = en_GB.UTF-8, LC 항목 없음으로 시작되었습니다. – viraptor