2024년 4월 18일 목요일

IP 주소를 검사하는 정규표현식


4개의 10진수를 3개의 .으로 구분하는 IP 주소 구조를 활용하면 정규표현식 작성이 어렵지 않다. 그런데 255.255.255.256?

IP 주소의 (.으로 구분되는) 각 단위는 28, 즉 256개(0~255) 숫자 범위만을 사용할 수 있다. 다음은 0~255 검사를 위한 범위 검토 내역.



일견 문제 없어 보인다? 그런데 오늘 한 교육생(현수님 감사합니다^^)으로부터 206을 검사하지 못한다는 질문을 받음.


일 단위의 6~9 범위를 검사하지 못한다. [0-5]를 사용했으니 너무 당연한 결과인데 왜 여태 몰랐을까? 다음은 질문 주신 분이 제시한 완벽 해답.



오늘도 하나 배운다

하나 걸리는 건 문제의 정규표현식이 책을 쓰던 2016년에 작성됐다는 것. IP 검사가  정규표현식 단골 주제인데, 다른 책들과 달리 이렇게도 가능하다 자랑을 하고 싶었나 보다. 그런데 충분한 샘플 테스트를 하지 않아 망함. 겉멋 부리다 얼어죽는다

그동안 오류가 발견되지 않은 이유는 모두 내가 제공한 샘플만을 사용해서이지 싶다. 출판사가 사라져서 책은 빨리 절판되기만 바라야할 듯(..)

댓글 없음:

댓글 쓰기

크리에이티브 커먼즈 라이선스