>백엔드 개발 >PHP 튜토리얼 >내 PHP 코드를 `ereg`에서 `preg` 정규 표현식으로 마이그레이션하려면 어떻게 해야 합니까?

내 PHP 코드를 `ereg`에서 `preg` 정규 표현식으로 마이그레이션하려면 어떻게 해야 합니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-26 11:38:10196검색

How Do I Migrate My PHP Code from `ereg` to `preg` Regular Expressions?

PHP에서 EReg에서 PREG로 마이그레이션

PHP 5.3.0부터 POSIX 정규식(ereg)이 더 이상 사용되지 않으므로 채택이 필요함 Perl 호환 정규식(preg). 이 전환에서는 preg_match와의 호환성을 위해 기존 ereg 표현식을 수정해야 합니다.

구문 차이점

주요 구문 변경에는 표현식에 구분 기호를 추가하는 것이 포함됩니다. ereg와 달리 preg에는 정규식 앞뒤에 구분 기호가 필요합니다. 구분 기호는 ~, / 또는 #과 같은 문자일 수도 있고 일치하는 괄호(예: [], (), {})일 수도 있습니다.

preg_match('/^hello/', $str); // Using '/' as a delimiter
preg_match('[^hello]', $str); // Using square brackets as a delimiter

이스케이프 구분 기호

선택한 구분 기호가 정규식 내에 나타나면 백슬래시를 사용하여 이스케이프 처리하세요. ().

preg_match('/^\/hello/', $str);

preg_quote 사용

모든 구분 기호와 예약 문자를 포괄적으로 이스케이프하려면 preg_quote를 사용하세요.

$expr = preg_quote('/hello', '/');
preg_match('/^'.$expr.'/', $str);

대소문자를 구분하지 않음 일치

대소문자를 구분하지 않는 일치를 수행하려면 i 수정자를 활용하세요.

preg_match('/^hello/i', $str);

주어진 예제 변환

제공된 예제 , eregi('^hello world')는 Stripos를 사용하여 단순화할 수 있으므로 preg_match로 변환해서는 안 됩니다. 기능:

stripos($str, 'hello world') === 0

위 내용은 내 PHP 코드를 `ereg`에서 `preg` 정규 표현식으로 마이그레이션하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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