>백엔드 개발 >PHP 문제 >PHP 정규 표현식의 사용은 무엇입니까

PHP 정규 표현식의 사용은 무엇입니까

(*-*)浩
(*-*)浩원래의
2019-09-12 09:30:182537검색

정규식은 언제 사용하나요? 모든 문자 작업에 정규식을 사용하는 것만으로는 충분하지 않습니다. PHP는 일부 측면에서 정규식을 사용하므로 실제로 효율성에 영향을 미칩니다. 복잡한 텍스트 데이터 구문 분석이 발생하면 정규 표현식이 더 나은 선택입니다.

PHP 정규 표현식의 사용은 무엇입니까

장점

정규 표현식을 사용하면 작업 효율성이 향상되고 복잡한 문자 연산을 처리할 때 코드를 어느 정도 절약할 수 있습니다.

단점

정규식을 사용할 때 복잡한 정규식은 코드의 복잡성을 증가시키고 이해하기 어렵게 만듭니다. 그래서 때로는 정규식 안에 주석을 추가해야 할 때도 있습니다.

유니버설 모드 (권장 학습: PHP 프로그래밍 초보부터 마스터까지)

구분자, 일반적으로 "/"를 구분 기호로 사용하여 시작하고 끝내며, "#"도 사용할 수 있습니다.

언제 "#"을 사용해야 합니까? 일반적으로 문자열에 "/" 문자가 많은 경우, uri와 같은 정규 표현식을 사용할 때 이러한 문자를 이스케이프해야 하기 때문입니다.

preg_match의 "/" 구분 기호를 사용하는 코드는 다음과 같습니다.

$regex = '/^http:\/\/([\w.]+)\/([\w]+)\/([\w]+)\.html$/i';
$str = 'http://www.youku.com/show_page/id_ABCDEFG.html';
$matches = array();

if(preg_match($regex, $str, $matches)){
    var_dump($matches);
}

echo "\n";

$matches[0]에는 전체 패턴과 일치하는 문자열이 포함됩니다.

"#" 구분자를 사용한 코드는 다음과 같습니다. 이때 "/"는 이스케이프되지 않습니다!

$regex = '#^http://([\w.]+)/([\w]+)/([\w]+)\.html$#i';
$str = 'http://www.youku.com/show_page/id_ABCDEFG.html';
$matches = array();

if(preg_match($regex, $str, $matches)){
    var_dump($matches);
}

echo "\n";

정규식의 정의는 다음과 같이 간단하게 요약할 수 있습니다. "정규식은 문자열 일치 방법을 설명합니다. 패턴 , 특정 기능에서 문자열을 일치시키고 검색하고 대체하고 분할하는 매칭 템플릿으로 원자, 특수 기능 문자 및 패턴 수식어

로 구성된 텍스트 패턴입니다.

위 내용은 PHP 정규 표현식의 사용은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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