2012-09-19 3 views
0

regex.h 라이브러리를 사용하여 비 라틴 문자가 아닌 모든 단어 (아랍어, 중국어 ...)를 어떻게 찾을 수 있습니까?Regex. 비 라틴 문자가있는 모든 단어 찾기

[a-zA-Z]*[^A-Za-z \d]+[a-zA-Z]* 

수단 : 하나 이상의 비 라틴어 편지 선행 또는

도시 دبي

+0

참조 http://stackoverflow.com/questions/2124010/grep- :

(?=\pL)(?![a-zA-Z]) 

이 라틴 문자가 아닌 임의의 알파벳의 문자와 일치합니다 정규식과 일치하지 않는 ASCII 문자 및 그 대답이 도움이되기를 바랍니다. –

답변

2

에 대해 어떻게 :

not ok - cityدبي 
ok - city 
not ok - دبي 
+1

라틴 문자를 악센트와 일치시키지 않을 것인가? ± ęšćżół? 나는 영어 사용하는 사람들이 엑센트가 된 라틴 문자를 어떻게 2 등으로 대하는 지에 대해 상당히 짜증이났다. –

-1

그냥 시도 ... 일치하지 않을 경우 [^a-zA-Z] , 그것은 국제 문자를 포함해야

+1

-1 또는 공백 또는 마침표 ... 로캘과 인코딩에 따라 다릅니다. – tripleee

+0

@tripleee regex.h가 유니 코드를 지원한다고 생각합니다. 그리고 나는 순수한 라틴어 단어를 구별하기 위해 좀 더 복잡한 정규 표현식이 필요하다고 생각하지 않는다 ... – frogwang

0

를 사용 하나 이상의 라틴 문자, 즉 최소한 비 라틴 문자 1 개를 포함하는 단어가 뒤 따른다. 어떤 임의의 텍스트 참조 데모 : 당신은 여러분의 필요에이 정규식을 조정하고, 숫자, 특수 문자, 귀하의 의견에 따라 단어 경계 등이 포함해야 할 수도 있습니다 http://regexr.com?326s3

.