PHP로 PCRE 표현식 변환
POSIX 정규 표현식(ereg)은 PHP 5.3.0 이상에서 더 이상 권장되지 않습니다. 이 문서에서는 이전 ereg 표현식을 여전히 지원되는 Perl 호환 정규 표현식(PCRE 또는 preg)으로 변환하는 쉬운 방법을 제공합니다.
구문 변경
주요 차이점 주목할 점은 preg에 구분 기호가 추가된다는 것입니다. 표현식 내의 문자와의 충돌을 방지합니다. 일반적인 구분 기호에는 ~, / 및 #이 포함됩니다.
이스케이프 구분 기호
식 안에 구분 기호가 있으면 이스케이프해야 합니다. 예를 들어, 슬래시가 포함된 표현식에는 이스케이프가 필요합니다.
preg_match('/^\/hello/', $str);
preg_quote 사용
이스케이프 문자가 제대로 추가되었는지 확인하려면 preg_quote 함수를 사용하세요. 모든 구분 기호와 예약 문자를 이스케이프합니다.
$expr = preg_quote('/hello', '/'); preg_match('/^'.$expr.'/', $str);
대소문자 구분 안 함
i 수정자는 eregi처럼 대소문자를 구분하지 않는 일치를 제공합니다.
preg_match('/^hello/i', 'HELLO');
참고자료 가이드
PHP의 PCRE 구문에 대한 포괄적인 참조는 공식 매뉴얼을 참조하세요. 또한 매뉴얼에는 변환 프로세스에 도움이 되는 POSIX와 PCRE 정규식 간의 차이점에 대한 분석이 포함되어 있습니다.
Simpler Alternative for Simple Expressions
제공된 예( 문자열 시작 부분에서 'hello world'와 일치하는 경우) 정규 표현식은 불필요할 수 있습니다.
stripos($str, 'hello world') === 0
위 내용은 PHP ereg 정규식을 PCRE로 쉽게 변환하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!