[php] PHP 정규식 : 끝 구분 기호 ‘^’가 없습니다.

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

이것은 내 코드입니다

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

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

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

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



답변

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

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

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

예 : http://ideone.com/Ec3zh

참조 : PHP-구분 기호


답변

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

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


답변

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

pattern('^([0-9]+)$')->match($input);


답변