2012-08-23 3 views
2

나는 정규식에 관한 초보자 질문일지도 모르지만 누군가가 도울 수 있기를 바랍니다. 0-3 자리 숫자 + 0 또는 1 문자의 ":"또는 "."입력을 허용하는 reg식이 필요합니다. + 0-2 자리 숫자. 또한 다른 문자가숫자 + ":"또는 "."을 받아들이는 Reguar Expression + digits

사용자를 허용이 있어야 할 수있는 사전에 다음 입력 유효 숫자

같은
100:, 
:0, 
:, 
1, 
10.6, 
111:11

감사합니다.

+1

정의가 빈 문자열과 일치합니다. 그 확인은? – walrii

+1

지금까지 시도한 것은 무엇입니까? ('|'대체 연산자는 거의 확실하게 당신이 원하는 것입니다.) –

+0

예제가 모두 유효한 경우 규칙을 더 자세히 설명해야한다고 생각합니다. 귀하의 설명을 '1'과 '111 : 11'로 읽는 방법은 유효합니다. –

답변

3

당신은 부분 \d{0,3} 제로 3 자리 일치

^\d{0,3}([:\.]\d{0,2})?$ 

사용할 수 있습니다, 일부 [:\.]\d{0,2}은 최대 두 자리 숫자 다음에 : 또는 .,의 ?와 중괄호이 부분은 선택하게 일치합니다. ^$ 문자열의 시작과 끝에 표현식을 고정시킵니다.

다음을보십시오. http://regexr.com?31tqd

+0

나는 대답을 시도했지만 1aa, 1as 또는 숫자 뒤의 다른 문자와 같은 입력에 일치하는 것으로 나타났습니다. 좀 더 자세한 정보를 보여주기 위해서 나는 aC# 코드에서 사용하고있다. '{ Regex regex = new Regex (@ "[0-9] [0, 1] [: \.] {0,1 } [0-9] {0,2} "); 문자열 텍스트 = ((TextBox) 보낸 사람). 텍스트 + e.Text; if (! regex.IsMatch (text)) e.Handled = true; } ' –

+0

@jepoyscreepers : 숫자 앞뒤의 다른 문자를 방지하기 위해'^'를 맨 앞에,'$'를 맨 끝에 넣어야합니다. – Gabe

+0

감사합니다. 게이. 그것은 나를 위해 일했다! –

관련 문제