이 표현식의 문자 수를 어떻게 든 제한 할 수 있습니까?표현식의 문자 수 제어?
([0-9]+(\.?[0-9]+)*)
내가 한계를 다음 문자열을 수락 할 :
내가 좋아하는 식의 문자 수를 제한합니다. 예를 들어, 한계는 4 인 경우
12.3
이012
하지 않습니다하지12345
않습니다 를 인정됩니다.
이 표현식의 문자 수를 어떻게 든 제한 할 수 있습니까?표현식의 문자 수 제어?
([0-9]+(\.?[0-9]+)*)
내가 한계를 다음 문자열을 수락 할 :
내가 좋아하는 식의 문자 수를 제한합니다. 예를 들어, 한계는 4 인 경우
12.3
이 012
하지 않습니다하지12345
않습니다를 사용하여 고정 된 전방 보면 (예를 들어, 최대 33) :
^(?=.{0,33}$)([0-9]+(\.?[0-9]+)*)
는 정확히 33 년 기간을 무시하려면 0,
을 제거 만들려면 한도는
^(?=(\.*[^.]){0,33}\.*$)([0-9]+(\.?[0-9]+)*)
고마워, 또 다른 빠른, 내가 어떻게 든 그것이 마침표의 숫자를 무시하게 만들 수 있습니까? – user2609388
일치하기 전에 먼저 마침표를 제거하십시오. (간단한 문자열 바꾸기) ... – poncha
@poncha 한계에서 마침표를 무시하는 방법에 대한 보너스 답을 참조하십시오. – Bohemian
정규식는 수량 :
{n}
- 정확히 n
출연{n,m}
- 최소 n
발행 수, 최대 m
발행 수{,m}
- 최소 제로, m
{n,}
최대 - 최소 n
, 최대 무한대.*
- 임의의 금액. 동등 물 {0,}
+
- 하나 이상. {1,}
?
- 0 또는 1입니다. Exuivalent to {0,1}
다음은이 요약입니다.
이 한정어에 대한 일반적인 참조로이 답변을 보관하고 있지만이 질문에 대한 실질적인 대답은 [@ 보헤미안에서 제공하는 답변]입니다 (http://stackoverflow.com/a/18203766/620813). – poncha
왜 012가 아니겠습니까? 그것은 4의 한도 내입니다. 아니면 제한이 아니라 지정된 길이입니까? – Bohemian