regex - 특수문자 - 정규표현식 한글




정규식 숫자 확인 (3)

^ 0? [1-50] {1,2} $

나는 StackOverflow에 익숙하지 않으므로 다음 질문을하는 것이 더 좋은 방법인지 알려 주시기 바랍니다.

데이터베이스의 필드가 숫자인지 여부를 탐지하는 정규 표현식을 작성해야하며 숫자 인 경우 유효한 범위 (즉, 1-50)에 속합니다. 나는 [1-50] 시도했는데, 이는 한자리 숫자 뒤에 0 (즉, 06)이 오는 경우를 제외하고 작동합니다. 06은 나중에 숫자로 변환 할 수 있기 때문에 유효한 숫자로 간주되어야합니다.

도와 주셔서 정말 고맙습니다. 저는 정규 표현식에 대해 더 많이 배우려고 노력하고 있으며, 제가 배울 수있는 모든 것을 배우고 있습니다 : www.regular-expressions.info . 너희들이이 사이트에 뼈대를 만드는 다른 사이트에 대한 추천을 가지고 있다면 나는 그것을 고맙게 생각할 것이다!


이 시도

^(0?[1-9])|([1-4][0-9])|(50)$

이 정규 표현식의 아이디어는 문제를 사례로 분해하는 것입니다.

  • 0? [1-9]는 앞자리 0을 선택적으로 허용하는 한 자릿수를 처리합니다
  • [1-4] [0-9]는 10에서 49까지의 모든 숫자를 처리합니다. 이것은 또한 하나의 숫자에서 앞에 0을 붙입니다.
  • 50 50 돌봐

정규식은 숫자가 아닌 문자 (이 경우 숫자)에서 작동합니다. 패턴의 각 자릿수에 대해 별도의 패턴이 있어야하고 | (OR 연산자) 다른 대답처럼 제안했다. 그러나 텍스트가 정규식 (예 : [0-9]+ )으로 [0-9]+ 확인한 다음 정수로 변환하고 정수가 범위 내에 있는지 확인하십시오.





regex