2012-09-26 5 views
4

약어 텍스트를 여러 언어로 찾아야합니다. 현재 regex은 다음과 같습니다파이썬 정규식 대문자 유니 코드 워드

import regex as re 
pattern = re.compile('(?:[\w]\.)+', re.UNICODE | re.MULTILINE | re.DOTALL | re.VERSION1) 
pattern.findall("U.S.A. u.s.a.") 

나는 결과에 U.S.A 필요하지 않습니다, 난 단지 대문자 텍스트가 필요합니다. [A-Z]은 영어 이외의 언어로는 작동하지 않습니다.

+0

당신이 이전 질문에서 도움이 찾을 수 있습니다 : http://stackoverflow.com/questions/150033/regular-expression-to-match-non-english-characters –

+0

자바 스크립트가 있습니다. 나는 파이썬을 사용하고있다. – twoface88

답변

11

일치 시키려면 유니 코드 문자 속성을 사용해야합니다. re은 문자 속성을 지원하지 않지만 regex은 지원하지 않습니다.

>>> regex.findall(ur'\p{Lu}', u'ÜìÑ') 
[u'\xdc', u'\xd1'] 
관련 문제