정규 표현식을 사용하여 문자열 숫자 무결성 확인
"d" 정규 표현식을 사용하여 문자열이 숫자를 나타내는지 확인하려고 하면 예상치 못한 오류가 발생합니다. 일치하는 항목이 발생할 수 있습니다. 예를 들어, 제공된 코드 조각은 "78.46.92.168:8000"을 양수로 발견하는데 이는 의도한 결과가 아닙니다. 이것은 "."이 어떻게 되는가에 대한 의문을 제기합니다. ":" 문자는 숫자로 인식됩니다.
답은 문자열 내 하나 이상의 숫자와 일치하는 "d " 표현식에 있습니다. 결과적으로 IP 주소 시작 부분의 "78"을 찾아서 일치시켜서 일치하는 결과가 나옵니다.
이 문제를 해결하고 정규식 패턴이 숫자 값만 인식하도록 하려면 패턴을 수정하면 됩니다. "^d $"로. 이 수정된 표현식은 숫자로 시작하고 0개 이상의 추가 숫자로 계속되고 숫자로 끝나는 일치 항목을 찾습니다.
또는 더 간단하고 간결한 접근 방식은 "isdigit()" 메서드를 사용하는 것입니다. "78.46.92.168:8000".isdigit()와 같은 문자열입니다. 이 방법은 전체 문자열이 숫자 기준을 만족하는지 명시적으로 확인하여 해석상의 혼란을 제거합니다.
위 내용은 정규식을 사용하여 문자열이 실제 숫자 값을 나타내는지 어떻게 확인할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!