2011-10-28 6 views
2

.NET에서 소수점 왼쪽에는 최대 9 자리, 오른쪽에는 1 또는 0 자리까지의 숫자를 나타내는 정규식이 필요합니다. 내가 가지고있는 것은 작동하지 않습니다. 내가 잘못 뭐하는 거지10 진수 정규 표현식 문제

@"^\d{0,9}[\.\d]{0,1}$" 

: 여기

내가 가진 무엇인가? 이 같은 문자열을 받아 않지만이 정규식은 현재 오른쪽으로 10 소수점 왼쪽에 자리없이 자리를 허용하고 ->12.

답변

4

그럼 당신은 문자 클래스 [\.\d]은 당신이 말하는이 :

하나 또는 둘 중 하나와 일치하십시오. 또는 숫자.

당신은 정말이 될 것이다 그러나 수행 할 작업 :

이 문자열 경기 시작부터라고
^\d{0,9}(\.\d)?$ 

는 0 ~ 9 자리 (어쩌면 당신이 때문에 같은이 {1,9}를 할 필요가 빈 문자열이 이제는 일치합니다), 그 다음에 숫자가있는 점과 그 다음 문자열의 끝이옵니다.

+0

좋은 설명을 말해야한다 - 감사합니다. 나는 여전히 정규식에 대한 나의 이해를 완벽하게하려고 노력하고있다. – novacara

+0

문자 클래스는 논리 또는입니다. 불특정 한 순서로 그 안에있는 모든 문자의 단일 문자를 찾습니다. 따라서 [2. \/\ d] {2}는 2. 또는 .2 또는 22와 일치 할 수 있기 때문에 잘못되었을 수 있습니다. 문제가 해결되면 대답을 수락하십시오. – FailedDev

+0

나는했다. 그것은 당신이 10 분을 기다리게합니다. – novacara