2013-03-25 5 views
0

유니 코드 문자가있는 웹 사이트를 긁어 내려고하고 있습니다. 나는 매우 태초 -*- coding: utf-8 -*-에 명시된 플러스 나는 re.UNICODE 플래그정규식, 유니 코드 패턴 찾기

pattern = re.compile('(?:{}|{})'.format(regex, regex1), re.UNICODE) 

을 사용하지만 내가 출력 난 아직도 내가 그 문제를 해결하려면 어떻게

같은 그 이상한 문자를받을를 인쇄 할 때? 감사!

+1

글꼴이 각각의 유니 코드 문자를 지원하지 않기 때문에 문자가 나타날 수 있습니다. – nwellnhof

+0

그것은 백퍼센트 않습니다. – nutship

+1

먼저 웹 사이트에서 UTF-8 텍스트를 디코드해야합니다. 예를 들어 [이 질문] (http://stackoverflow.com/questions/10293234/why-wont-python-display-this-text-correctly-utf-8-decoding-issue)을 참조하십시오. – nwellnhof

답변

1

이것은 "대답"이 될 수는 없지만 http://www.debuggex.com을 사용하여 정규식을 조금 디버깅 할 수 있습니다.

+0

자, 여기에서 배울 것입니다. http://www.regular-expressions.info/unicode.html – nutship

+0

그러면 대답 대신 주석으로 남겨 두어야합니다. – beerbajay

+0

확실하지 왜 (아마 내 stackoverflow 평판이 충분히 높지 않기 때문에?)하지만 내 자신의 답변을 제외한 아무것도 코멘트를 남길 수있는 옵션이없는 것 ... 그게 바로 보이지 않는 ... – relic

4

비 라틴 문자가있는 페이지가 유니 코드로 인코딩되었음을 의미하지는 않습니다 (또한 유니 코드 인코딩은? utf-8? utf-16?).

또한 re.UNICODE은 아마도 당신이 생각하는대로하지 않을 것입니다. 문서에서 :

유니 코드 문자 속성 데이터베이스에 '\ w, \ W, \ b, \ B, \ d, \ D, \ s 및 \ S'를 종속시킵니다.

이 모든 것은 이러한 특정 문자 클래스가보다 광범위하게 정의된다는 것을 의미하며 소스 텍스트에는 영향을주지 않습니다.

또한 coding definition, -*- coding: utf-8 -*-은 소스 파일의 인코딩 만 지정합니다.

마지막으로, 주석 중 하나에서 언급했듯이 the은 현재 서체에서 지원되지 않는 문자를 사용한 결과 일 수 있습니다. 이것은 텍스트가 다른 인코딩으로 인코딩되는 동안 특정 인코딩을 가정 한 결과 일 수 있습니다.

+0

고마워하지만 여전히 고군분투하고있어. 나는 그것이 'utf-8'이라고 확신한다. – nutship

관련 문제