2012-04-27 4 views
-1

모든 종류의 비표준 문자를 포함 할 수있는 문자열을 처리해야하며 정규식을 제공해야합니다. 구두점 및 공백을 제외한 영숫자가 아닙니다..net regex 공백을 제외한 모든 비표준 문자 이외의 영숫자 문자

이 방법이 있습니까?

+1

악센트 부호가있는 문자를 의미합니까? – Jack

+0

@ 잭은 "영숫자"에 대한 그의 정의에 달려 있습니다. 나는 독일 위키 피 디아 (German Wikipedia)에 대해 살펴 봤는데 "어떤 문자와 숫자"라고 대답 했으므로 나의 대답은 영어이지만 위키 백과 (http://en.wikipedia.org/wiki/Alphanumeric)는 " ** 라틴 문자 ** 및 아랍어 숫자 모음 ". – stema

+0

비표준 문자를 가장 가까운 ASCII 문자로 바꾸고 싶지는 않습니까? *? 'ponponine '과 같은 누군가의 이름을 단지'폰틴'으로 바꾸는 것은 약간 무례한 것처럼 보인다. –

답변

2

:

\p{P} 또는 \p{Punctuation} : 문장 부호 문자의 어떤 종류.

\p{L} 또는 \p{Letter} : 모든 언어의 모든 종류의 문자.

\p{Nd} 또는 \p{Decimal_Digit_Number} : 표의 문자를 제외한 모든 스크립트에서 0부터 9까지의 숫자.

귀하의 정규식은 다음 문자가 아닌 숫자가 아니라 문장 부호가 아닌 공백이 아닌이

[^\p{L}\p{Nd}\p{P} ]+ 

이 일치 할 수있는 모든 작업과 같을 것이다.

0

다음 패턴을 사용하십시오. @"[^\s\w]| "
^ 기호는 제곱 된 중괄호를 의미합니다. 따라서 단어 문자 (숫자, 문자 및 밑줄) 및 공백 ([^\s\w]) 또는 공백을 제외한 모든 문자와 일치합니다.

0

다음 정규식을 사용하십시오.

[^a-zA-Z0-9!.,'" ] 

허용되는 구두점 문자를 모두 표현식에 추가하십시오. 마지막 빈 공간은 space 문자입니다.

밑줄이 허용되면 \w을 사용하십시오. \s은 공백 문자를 허용합니다. regular-expressions.info에서

관련 문제