2010-07-02 3 views
5

이름 유효성 검사를위한 정규식을 작성하고 싶습니다. 정규 표현식에는 모든 영문자 (라틴어/프랑스어/독일어 문자 등)가 포함되어야합니다. 그러나 그것에서 숫자를 제외하고 또한 -을 허용하고 싶습니다. 기본적으로 \w (마이너스) 숫자 (플러스) -입니다.[ w]와 "-"는 일치하지만 숫자는 아닌 정규식의 레일

도와주세요.

+0

http://rubular.com 최고의 자원을 루비 정규식을 테스트 해보십시오. –

답변

5
는 지금까지 내가 당신이

^(?:[^\W\d_]|-)+$ 

설명 사용해야 할 수도 있으므로, 루비, (적어도 버전 1.8까지) 유니 코드 속성을 지원하지 않습니다 알고

: [^\W\d_] 일치하는 편지 (문자 그대로는 "일치를 의미 영숫자가 아닌 문자, 숫자 또는 밑줄이 아닌 문자). 이 경우 이중 음수를 사용하는 것이 옳습니다. 무효화 된 문자 클래스를 사용하기 때문에 다음 번에 -을 허용해야합니다.

경고 :이 루비처럼 보이는regular-expressions.info에서 만 \w 속기와 ASCII 문자와 일치하게되므로이 경우는 의도 한대로 정규식이 작동하지 않을 수 있습니다. 여기에 Ruby가 설치되어 있지는 않지만 rubular.com에서는이 정규식이 올바르게 작동합니다.

^[[:alpha:]-]+$ 

이 regular-expressions.info하고 RegexBuddy하지만 rubular.com에 작동하지 않습니다에 따라 비 ASCII 문자가 일치해야합니다 대체 솔루션입니다.

+0

아마 루비가 아닌 그 coz? –

+0

@Shripad K : 그게 무슨 소리 야? –

0

당신이 당신의 검증 문제에 루비 특정 솔루션은 당신이 사용할 수 있습니다 원하는 경우 :이 커뮤니티 만든

http://rubular.com/r/VrAIB4TkwJ

:

^[\D-]+$ 

현재이 고유 주소를 확인하실 수 있습니다 위키를 사용하면 모든 사람들이 그것을 시도해 볼 수 있고 필요한 경우 정규 표현식을 향상시킬 수 있습니다.

희망이 도움이됩니다. 건배 :)

+0

아닙니다. 이것은 '!'§ $ % &'와 같은 문자열을 포함하여 모든 것을 제외하고 모든 것과 일치합니다 - Dinesh가 필요로하는 것이 아닙니다. –