>  기사  >  백엔드 개발  >  PHP에서 정규식 함수를 사용하는 방법

PHP에서 정규식 함수를 사용하는 방법

WBOY
WBOY원래의
2023-05-18 12:21:05859검색

PHP에서 정규식은 텍스트의 패턴을 일치시키는 데 사용할 수 있는 매우 강력한 도구입니다. PHP는 정규식을 작동하기 위한 많은 내장 함수를 제공하여 정규식을 더욱 편리하고 빠르게 만듭니다.

이 기사에서는 다음 주제를 포함하여 PHP에서 정규식 함수를 사용하는 방법을 배웁니다.

  1. 정규식 구문
  2. preg_match 함수
  3. preg_match_all 함수
  4. preg_replace 함수
  5. preg_split 함수
  6. 기타 유용함 함수
  7. 정규식 구문

정규식의 구문은 약간 복잡하지만 일단 이해하고 나면 정규식을 사용하여 쉽게 텍스트를 검색하고 바꿀 수 있습니다.

PHP에서 정규 표현식의 구문에는 다음과 같은 메타 문자가 포함됩니다.

. 단일 문자를 나타냅니다.
^ 특정 문자 또는 문자열로 시작을 나타냅니다.
$ 특정 문자 또는 문자열로 끝나는 것을 나타냅니다.
[] 사양을 나타냅니다. 문자
|는 일치하는 텍스트를 캡처하는 데 사용되는 논리적 OR 연산을 나타냅니다.

    는 이전 문자 또는 하위 표현식을 나타내며 0번 또는 여러 번 나타날 수 있습니다.
  • 는 이전 문자 또는 하위 표현식을 나타냅니다. 한 번 또는 여러 번 나타날 수 있습니다.
  • ?는 이전 문자 또는 하위 표현식이 0개 또는 1번 나타날 수 있음을 의미합니다.
이러한 메타 문자 외에도 정규 표현식은 일부 특수 문자 범주 및 이스케이프 문자도 지원합니다. 이는 PHP 매뉴얼에서 찾을 수 있습니다.

    preg_match 함수
preg_match 함수는 매우 일반적으로 사용되는 함수로, 지정된 정규식과 일치하는 텍스트의 패턴을 검색하는 데 사용됩니다. 일치하는 첫 번째 문자열을 반환합니다.

다음은 preg_match 함수의 기본 구문입니다:

preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] ): int |false

그 중 $pattern은 정규식이고 $subject는 검색할 텍스트입니다.

예를 들어, 문자열에서 첫 번째 "php" 단어를 찾으려고 합니다. 다음은 preg_match를 사용하는 예입니다:

$str = "이것은 PHP 프로그래밍입니다.";

if (preg_match("/php/", $str)) {
echo "일치 항목을 찾았습니다!";
} else {
echo "일치하는 항목을 찾을 수 없습니다.";
}

출력 결과:

일치하는 항목을 찾았습니다!

이 예에서는 preg_match를 사용하여 $str 문자열에서 "php" 패턴을 검색합니다.

    preg_match_all 함수
preg_match 함수와 달리 preg_match_all 함수는 텍스트에서 지정된 정규 표현식과 일치하는 패턴을 검색하고 일치하는 모든 문자열을 반환합니다.

다음은 preg_match_all 함수의 기본 구문입니다:

preg_match_all ( string $pattern , string $subject [, array &$matches [, int $flags = PREG_PATTERN_ORDER [, int $offset = 0 ]]] ): int |false

이 예에서 $pattern은 정규 표현식이고 $subject는 검색할 텍스트입니다. $matches는 일치하는 모든 문자열을 저장하는 배열입니다.

예를 들어, 문자열에 있는 모든 숫자를 찾고 싶습니다. 다음은 preg_match_all 함수를 사용한 예입니다.

$str = "2020년에는 18명을 만났고, 2019년에는 10명을 만났습니다.";

preg_match_all("/d+/", $str, $matches);
print_r($matches);

출력 결과:

Array

(

[0] => Array
    (
        [0] => 2020
        [1] => 18
        [2] => 2019
        [3] => 10
    )

)

이 예에서는 preg_match_all을 사용하여 문자열 $str의 모든 숫자를 검색하고 print_r 함수를 사용하여 검색된 숫자를 출력합니다. .

    preg_replace 함수
preg_replace 함수는 텍스트에서 지정된 정규식 패턴을 검색하고 이를 지정된 문자열로 바꾸는 데 사용됩니다.

다음은 preg_replace 함수의 기본 구문입니다:

preg_replace ( Mixed $pattern , Mixed $replacement , Mixed $subject [, int $limit = -1 [, int &$count ]] ): Mixed

In 이 예에서 $pattern은 정규식이고 $replacement는 일치하는 텍스트를 바꿀 문자열이며 $subject는 검색할 텍스트입니다. $limit는 교체할 최대 개수입니다.

예를 들어 문자열에서 모든 숫자를 제거하려고 합니다. preg_replace 함수를 사용한 예는 다음과 같습니다.

$str = "2020년에는 18명을 만났고, 2019년에는 10명을 만났습니다.";

$pattern = '/d+/';
$replacement = '' ;
echo preg_replace($pattern, $replacement, $str);

출력 결과:

In에서는 사람들을 만났고, in에서는 사람들을 만났습니다.

이 예에서는 preg_replace 함수를 사용하여 모든 숫자를 검색합니다. , 빈 문자열로 바꿉니다.

    preg_split 함수
preg_split 함수는 지정된 정규식 패턴을 기반으로 텍스트 문자열을 분할하는 데 사용됩니다.

다음은 preg_split 함수의 기본 구문입니다.

preg_split ( string $pattern , string $subject [, int $limit = -1 [, int $flags = 0 ]] ): array

이 예에서는, $pattern은 정규식이고 $subject는 분할할 텍스트 문자열입니다. $limit는 분할할 최대 수입니다.

예를 들어, 쉼표로 구분된 문자열을 배열로 분할하려고 합니다. 다음은 preg_split 함수를 사용하는 예입니다.

$str = "apple,orange,banana,grape";

$array = preg_split("/,/", $str);
print_r($array);

output 결과:

Array

(

[0] => apple
[1] => orange
[2] => banana
[3] => grape

)

이 예에서는 preg_split 함수를 사용하여 문자열을 쉼표를 기준으로 한 배열로 분할합니다.

  1. 다른 유용한 함수

위 함수 외에도 PHP는 다른 유용한 정규 표현식 함수도 제공합니다.

preg_grep: 배열에서 정규 표현식과 일치하는 요소를 검색하고 일치 항목이 포함된 배열을 반환하는 데 사용됩니다. 새로운 요소 배열입니다.

preg_filter: 정규식과 일치하는 배열 요소를 검색하고 지정된 대체 문자열로 바꾸는 데 사용됩니다.

preg_last_error: 마지막 정규식 함수의 오류 코드를 반환합니다.

  1. 요약

PHP의 정규 표현식 함수는 텍스트를 쉽게 조작할 수 있는 기본 작업의 유연성과 강력함을 제공합니다. PHP에서 이러한 함수의 사용법과 구문을 이해하는 것이 정규식 학습의 첫 번째 단계입니다.

위 내용은 PHP에서 정규식 함수를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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