>  기사  >  백엔드 개발  >  preg_match가 PHP에서 "알 수 없는 수정자 'g'" 오류를 발생시키는 이유는 무엇입니까?

preg_match가 PHP에서 "알 수 없는 수정자 'g'" 오류를 발생시키는 이유는 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-12 01:00:03824검색

Why Does preg_match Throw an

PHP에서 preg_match를 사용할 때 "Unknown Modifier 'g' in...'' 오류 이해

PHP에서 preg_match 함수를 사용할 때 PHP에서 "알 수 없는 수정자 'g'" 오류 메시지가 나타날 수 있습니다. 이 당황스러운 문제는 정규 표현식에서 'g' 수정자를 사용하려고 할 때 발생할 수 있습니다.

정규 표현식의 'g' 수정자는 일반적으로 문자열 내에서 모든 패턴 발생을 찾기 위해 전역 검색에 사용됩니다. 그러나 preg_match와 함께 사용하면 이 수정자가 인식되지 않습니다. preg_match는 'i'만 지원하므로 이러한 불일치의 이유는 PHP 구현의 실수 때문입니다. 및 'm' 수정자.

이 문제를 해결하고 preg_match로 전역 검색을 수행하려면 대신 preg_match_all 함수를 활용해야 합니다. 이 함수는 문자열 내에서 나타나는 모든 패턴을 일치시켜 preg_match의 기능을 확장합니다. 원하는 전역 검색 기능을 제공합니다.

따라서 제공한 코드 조각을 수정하고 전역 검색을 수행하려면 preg_match_all을 사용하도록 preg_match 함수가 포함된 줄을 수정하세요.

preg_match_all("/^(\w|\.|-)+?@(\w|-)+?\.\w{2,4}($|\.\w{2,4})$/im", ....)

다음을 활용하여 preg_match_all을 적절한 수정자로 사용하면 "알 수 없는 수정자 'g' in...'' 오류 메시지를 방지하면서 문자열 내에서 이메일 주소 패턴의 모든 항목을 성공적으로 찾을 수 있습니다.

위 내용은 preg_match가 PHP에서 "알 수 없는 수정자 'g'" 오류를 발생시키는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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