PHP 정규식 : 끝 구분 기호 '^'가 없습니다.


103

정규 표현식에 문제가 있습니다.

이것은 내 코드입니다

$pattern = "^([0-9]+)$";

if (preg_match($pattern, $input))
   echo "yes";
else
   echo "nope";

나는 그것을 실행하고 얻는다 :

경고 : preg_match () [function.preg-match] : 끝 구분 기호 '^'가 없습니다.


구분 기호가 필요없는 T-Regx 라이브러리를 사용할 수 있습니다 .
Danon

답변:


158

PHP 정규식 문자열에는 구분 기호가 필요합니다. 시험:

$numpattern="/^([0-9]+)$/";

또한 0이 아닌 소문자 o가 있습니다. 또한 유효성 검사 만하는 경우 캡처 그룹이 필요하지 않으며 정규식을 /^\d+$/.

예 : http://ideone.com/Ec3zh

참조 : PHP-구분 기호


2
링크 된 자료를 읽지 않는 사람들을 위해 []구분 기호를 사용하십시오 . 그렇지 않으면 패턴 자체와 충돌이 발생합니다.
greenoldman

24

정규식 패턴은 구분 기호에 있어야합니다.

$numpattern="/^([0-9]+)$/";

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.