2012-01-31 3 views
0

"10 개"또는 "12 개"기호를 허용하는 정규식 패턴을 작성하는 방법은 무엇입니까? 나는 이것을 시도했지만, 심볼 수가 10보다 많으면 작동하지 않는다.특정 기호 수에 대한 정규 표현

(^ {10}.) | 내가 즉 말을

+7

왜 정규식이 필요합니까? 'yourstring.length' 시도 ... – helle

+0

개행 문자가 합법적 인 문자인가? – Phrogz

+0

@helle : OP는 * 기호 *가 무엇을 의미하는지에 따라 다릅니다. 나는 개행 문자가 포함될 것으로 기대하지 않는다. – Borodin

답변

5

(^ {12} $.) "10 자, 선택적으로 두 개 더"

/^.{10}(?:..)?$/ 
3

다음 선택적으로 두 이상, 다음 T로 앵커 일치

/^.{10}(?:..)?$/ 

그것은 문자열의 시작 앵커, 어떤 10 문자와 일치 :이 정규식을 시도해야한다 그는 끈의 끝. 내가 str.length 사용할 수없는 경우

1

은 내가 사용하는 것 (예를 나는 검증 함수에 정규식을 통과 필요) :

/^[\d\D]{10}(?:[\d\D])?$/ 

을 위해도 줄 바꿈 문자를 허용하고, 내가있어 결코 희망 문자열이 \r\n 인 경우 두 개가 아닌 하나의 문자인지 결정해야합니다.

+0

자바 스크립트에'// s' 수정자가 없다는 것을 알지 못했습니다. 얼마나 끔찍한. – Borodin

+0

또한 놀라운 점은'.'에 개행을 포함 시키려면 Ruby ['// m'이 사용됩니다] (https://github.com/ruby/ruby/blob/trunk/doc/re.rdoc). – Phrogz

+0

Bizarre와 Ruby는 문자열 내에서'/^$ /'을 매치 할 수있는 옵션이 없습니다. 보통'// m'입니다! – Borodin