2011-02-17 2 views
12

:정규식 나는 다음과 같은 하나 비어 또는 1 개 또는 2 숫자를 가질 수있는 문자열과 일치하기 위해 노력하고있어 0-2

""(빈) "1 " "23 "

더 많은 숫자 또는 숫자가 아닌 문자가있는 문자열이 일치하지 않아야합니다. ". 숫자 0 9 0 ~ 2 회 발생"

[0-9] {0,2}

내가 말하고 읽을

: 내 가장 가까운 추측은 정규식 그러나 실제로는 정규 표현식이 "333"과 같은 더 긴 문자열과도 일치한다는 것을 알았습니다. 정규식에서 문자열 길이를 어떻게 제한 할 수 있습니까? ^$ 문자 앵커 각각 문자열의 시작과 끝을 일치이 -

^[0-9]{0,2}$ 

당신은 거의 그것을했다 :

+0

어떤 언어를 사용하고 있습니까? – Donut

+1

C#이 제 언어입니다. –

답변

36

는 다음과 같은 정규 표현식을 사용합니다. 앵커 대한보다 심도있는

, here를 참조하십시오

는 [앵커] 전혀 문자가 일치하지 않습니다. 대신 문자 앞이나 뒤에 또는 사이에 위치를 매치합니다. 정규 표현식을 특정 위치에 "고정"하는 데 사용할 수 있습니다.

5

은 시작과 종료 캐릭터의 메타 문자를 사용하여 당신이 그들을 사용하지 않는 경우

^[0-9]{0,2}$ 

, 그것은 문자열 어디서나 일치와 일치하는 "12", "의 일부입니다 123 ".

^[0-9]{0,2}$ 

그렇지 않으면 정규식 즐겁게 문자열과 일치합니다 :

6

당신은 정규식을 anchor해야합니다.

관련 문제