>  기사  >  백엔드 개발  >  IP 주소에서 "\d"가 예기치 않게 일치하는 이유는 무엇입니까?

IP 주소에서 "\d"가 예기치 않게 일치하는 이유는 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-12 20:36:02821검색

Why Does

정규 표현식으로 문자열 무결성 확인

"d " 정규 표현식을 사용하여 숫자 입력의 유효성을 검사하려고 하면 예기치 않은 일치 항목이 발생할 수 있습니다. 숫자가 아닌 문자를 포함하는 IP 주소 등. 효과적인 문자열 유효성 검사를 구현하려면 이 동작의 근본 원인을 이해하는 것이 중요합니다.

"d " 정규식은 문자열 내의 모든 연속 숫자 시퀀스와 일치합니다. 그러나 제공된 예에서 IP 주소 "78.46.92.168:8000"에는 숫자와 숫자가 아닌 문자가 모두 포함되어 있습니다. "d "는 문자열 내의 양수 숫자와 일치하므로 나머지 문자가 숫자 제약 조건을 준수하지 않더라도 처음 78개와 일치합니다.

이러한 잘못된 일치를 방지하려면 다음을 사용하는 것이 좋습니다. 엄격한 숫자 유효성 검사를 시행하는 대체 정규식 패턴입니다. 한 가지 접근 방식은 전체 문자열이 숫자로만 구성되도록 보장하는 "^d $"를 사용하는 것입니다. 또는 Python에 내장된 "isdigit()" 메서드를 사용하면 문자열에 숫자만 포함되어 있는지 확인하는 더 간결하고 직접적인 방법을 얻을 수 있습니다.

위 내용은 IP 주소에서 "\d"가 예기치 않게 일치하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.