>  기사  >  백엔드 개발  >  PHP 정규식: 문자열에서 특정 끝 부분을 추출하는 방법

PHP 정규식: 문자열에서 특정 끝 부분을 추출하는 방법

王林
王林원래의
2023-06-22 08:37:361118검색

많은 PHP 프로그램에서는 파일 이름 집합에서 ".txt"로 끝나는 모든 파일 이름을 추출하는 것과 같이 문자열에서 특정 끝이 있는 하위 문자열을 추출해야 합니다. 이때 정규식을 사용하면 이 기능을 빠르고 효과적으로 구현하는 데 도움이 될 수 있습니다.

PHP는 많은 정규식 함수를 제공하며 가장 일반적으로 사용되는 함수는 preg_match, preg_match_all 및 preg_replace입니다. 이 기사에서는 preg_match 및 preg_match_all 함수를 사용하여 문자열에서 특정 끝을 가진 하위 문자열을 추출하는 방법을 소개합니다.

먼저 특정 끝 하위 문자열을 일치시키는 데 사용되는 정규식을 지정해야 합니다. 이 예에서는 ".txt"로 끝나는 모든 하위 문자열을 일치시키려고 하므로 일치하는 정규식은 "/.txt$/" 여야 합니다. 정규식은 다음 부분으로 구성됩니다.

  • "/": 정규식의 시작 태그입니다.
  • ".": "." 문자와 일치합니다. "."는 정규 표현식에서 특별한 의미를 갖기 때문에 백슬래시로 이스케이프해야 합니다.
  • "txt": "txt" 문자열과 일치합니다.
  • "$": 문자열의 끝과 일치합니다.
  • "/": 정규식의 끝 태그입니다.

다음으로 preg_match 함수를 사용하여 문자열에서 ".txt"로 끝나는 첫 번째 하위 문자열을 일치시키는 방법을 살펴보겠습니다.

$string = "file1.txt file2.php file3.txt file4.html";
$pattern = "/.txt$/";
if (preg_match($pattern, $string, $match)) {
    echo "找到匹配的子字符串:".$match[0];
} else {
    echo "没有找到匹配的子字符串!";
}

이 예에서는 먼저 여러 파일 이름이 포함된 파일 $string을 정의합니다. 그런 다음 ".txt"로 끝나는 하위 문자열과 일치하도록 정규식 $pattern을 정의하고 preg_match 함수를 호출합니다. 함수의 첫 번째 매개변수는 정규식, 두 번째 매개변수는 일치시킬 문자열, 세 번째 매개변수는 일치 결과입니다. 결과가 없으면 함수는 false를 반환합니다.

마지막으로 $match 배열에 요소가 있는지 판단하여 특정 종료 하위 문자열이 일치하는지 확인합니다. 있는 경우 하위 문자열이 출력됩니다. 그렇지 않으면 "일치하는 하위 문자열이 없습니다!"가 출력됩니다.

다음으로 preg_match_all 함수를 사용하여 문자열에서 ".txt"로 끝나는 모든 하위 문자열을 일치시키는 방법을 살펴보겠습니다.

$string = "file1.txt file2.php file3.txt file4.html";
$pattern = "/.txt$/";
if (preg_match_all($pattern, $string, $matches)) {
    echo "找到 ".count($matches[0])." 个匹配的子字符串:<br>";
    foreach ($matches[0] as $match) {
        echo $match."<br>";
    }
} else {
    echo "没有找到匹配的子字符串!";
}

이 예에서는 $string 및 $pattern 변수도 사용하여 문자열과 정규식을 정의합니다. 일치해야 한다는 것입니다. 그런 다음 preg_match_all 함수를 호출했습니다. preg_match 함수와 달리 이 함수는 문자열의 모든 정규화된 하위 문자열을 일치시킬 수 있으며 결과는 배열로 반환됩니다.

일치하는 결과를 출력하기 위해 반복할 때 foreach 루프를 사용하여 $matches 배열의 첫 번째 요소를 순회했습니다. 이 요소도 배열이므로 $match 변수를 사용하여 현재 탐색된 하위 문자열을 저장하고 출력합니다.

일치하는 결과가 없으면 "일치하는 하위 문자열이 없습니다!"도 출력됩니다.

요약하자면, 정규식을 사용하면 문자열의 특정 끝 부분 문자열을 빠르고 효율적으로 추출하는 데 도움이 됩니다. 실제 응용에서는 실제 필요에 따라 다양한 정규식을 정의하고 preg_match, preg_match_all 및 preg_replace와 같은 함수와 결합하여 유연하게 적용할 수 있습니다.

위 내용은 PHP 정규식: 문자열에서 특정 끝 부분을 추출하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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