2013-10-13 5 views
2

2 자리 이상의 숫자를 포함하는 한 문자열과 일치하는 정규식이 필요합니다.임의의 두 자리 숫자에 대한 정규식

내가 무엇을 가지고 :

/(?=.*\d)(?=.*\d)/

/\d{2,}/

이 한 자리이고, 두 번째는 2 개 연속 숫자가 있어야 경우에도 첫 번째는 일치합니다. 나는 다른 방법으로 그들을 결합하려고 노력하지 않았다.

+0

당신이 사용하는 언어는 정규식 질문을 할 때 정확한 기쁘게 할 수 U에 도움이 될 것입니다? –

답변

5

당신은 훨씬 더 간단 할 수 있습니다

/\d\D*\d/ 
+0

감사합니다. 나는이 문제를 복잡하게 끝내 었다고 생각한다. – M1Reeder

+3

+1 그러나 이것은 더 빠릅니다.'/ \ d \ D * \ d /' – ridgerunner

0
grep -E ".*[0-9].*[0-9].*" filename 
+0

아니요, OP를 읽으십시오. 그는 2 자리 숫자가 아니라 2 자리 숫자를 의미합니다. – Junuxx

+0

@Junuxx right, fixed. –

0

이 응용 프로그램 언어에 의존하지만,이 정규식은 가장 일반적입니다 :

^(?=.*\d.*\d) 

는 모든 응용 프로그램의 언어 부분을 고려 "매칭"으로 매치합니다; 이 정규 표현식은 입력에서 두 자리가 어디에 있든 상관없이 일치합니다.

.*\d.*\d.* 

이 어디, 거기에 두 자리가 아무것도 일치합니다 :

1

는 다음과 같은 표현을 사용할 수 있습니다. 숫자가 어디에 있든 관계없이. Example here.

또한 이런 식으로 작업을 수행 할 수 있습니다

, 사용 범위 :

.*[0-9].*[0-9].* 

Link.

또한이 사용을 고려할 수 있습니다

\D*\d\D*\d 

\D가가 아닌 것은 일치합니다 자릿수

+0

첫 번째'. *'는 많은 역 추적을 유발할 수 있기 때문에'\ D * \ d \ D * \ d'가 더 좋습니다. 또한 마지막'. *'은 필요 없다. – Jerry

+0

@Jerry - 그보다 나은 것은 첫 번째'\ D *'를 제거하는 것입니다. 실제로 아무것도 추가하지 않습니다. –

+0

@Jerry 당신이 좋아하는대로 편집하면 영광이 될거야 :) –

-1

이것을 시도하십시오. [0-9]. {2}

관련 문제