2013-06-07 4 views
7

나는이 정규식을했습니다. 또한 공백을 허용합니다.정규식은

하지만 영어로만 작동합니다. 예를 들어 카탈로니아 어에서는 'ç'문자를 사용합니다. 또한 'á'또는 'à'등의 문자를 사용했습니다.

일부 Google과 내가이 작업을 수행 할 수있는 방법을 찾지 못했습니다.

UTF-8로 필터링 할 수 있지만 실제로는 문자가 아닌 문자를 사용할 수 있다는 것을 알았습니다.

어떻게 구현할 수 있습니까?

+0

[유니 코드 블록] (http://jregex.sourceforge.net/gstarted.html#appendix-c)을보십시오. –

+0

도움이 필요하시면 Dunno : http://stackoverflow.com/questions/896374/what-is-the-regular-expression-for-a-spanish-word more relevant : http://stackoverflow.com/questions/6548815/ 어떻게 -i-match-latin-unicode-characters-in-coldfusion-or-java-regex? rq = 1 – wazy

+0

[stackoverflow.com/questions/9499851/...](http:/) /stackoverflow.com/questions/9499851/regex-for-validating-alphabetics-and-numbers-in-the-localized-string/9500409#9500409) – stema

답변

16

사용이 정규식 :

[\p{L}\s]+ 

\p{L}은 모든 유니 코드 문자를 의미한다.

fiddle.re Demo.

+1

이것은 OP가 찾고있는 것과 정확히 일치하지 않는 비 라틴 문자와도 일치하지 않습니까? (이 답변을 수락 했더라도)? 예를 들어 '안녕'과 일치합니다. 특히 라틴 문자 ([ref] (http://docs.oracle.com/javase/8/docs/api/java/util/regex))와 일치 시키려면'\ p {IsLatin}'이 더 적합 할 것 같습니다. /Pattern.html)). –

+0

@NickChammas : op는 일치하는 유니 코드 문자를 명시 적으로 원했습니다. – mvp

+0

사실 3 년이 지나서야 비로소 문제가 될 것이라고 생각하지만, 카탈로니아 어 알파벳과 일치하는 OP의 제목과 의도 된 사용 사례는 모든 유니 코드가 아닌 라틴 문자와 일치하기를 바랍니다 (한국어와 같은 다른 알파벳도 포함) . 나는 OP가 명시 적으로 "모든 유니 코드 문자"와 일치하길 원했던 곳을 보지 못했습니다. 그러나 어쨌든, 나는 도움이 되었기 때문에이 대답을 upvoted. 이전 기사가 나와 같은 다른 사람들이이 페이지를 방문하여 유니 코드가 아닌 라틴어 문자와 일치하는 방법을 찾는 데 도움이되기를 바랍니다. –

0

documentation을보고 클래스 (예 : \p{Latin1Supplemental})를 사용하십시오.

+2

이 설명서 페이지에는 'Latin1Supplemental'이 언급되어 있지 않습니다. 'site : oracle.com'의'Latin1Supplemental'에 대한 인터넷 검색도 그것을 찾지 못합니다. 뭐라 구요? – mvp

+0

이름이 다를 수 있습니다. 'Character.UnicodeBlock' 문서를 확인하십시오. 'LATIN _! _ SUPPLEMENTAL'라는 이름의 상수가 있는데,이 이름은'\ p {}'이름으로 사용될 수 있습니다. –