PHP에서 정규식은 텍스트의 패턴을 일치시키는 데 사용할 수 있는 매우 강력한 도구입니다. PHP는 정규식을 작동하기 위한 많은 내장 함수를 제공하여 정규식을 더욱 편리하고 빠르게 만듭니다.
이 기사에서는 다음 주제를 포함하여 PHP에서 정규식 함수를 사용하는 방법을 배웁니다.
- 정규식 구문
- preg_match 함수
- preg_match_all 함수
- preg_replace 함수
- preg_split 함수
- 기타 유용함 함수
- 정규식 구문
정규식의 구문은 약간 복잡하지만 일단 이해하고 나면 정규식을 사용하여 쉽게 텍스트를 검색하고 바꿀 수 있습니다.
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 함수를 사용하여 문자열을 쉼표를 기준으로 한 배열로 분할합니다.
- 다른 유용한 함수
위 함수 외에도 PHP는 다른 유용한 정규 표현식 함수도 제공합니다.
preg_grep: 배열에서 정규 표현식과 일치하는 요소를 검색하고 일치 항목이 포함된 배열을 반환하는 데 사용됩니다. 새로운 요소 배열입니다.
preg_filter: 정규식과 일치하는 배열 요소를 검색하고 지정된 대체 문자열로 바꾸는 데 사용됩니다.
preg_last_error: 마지막 정규식 함수의 오류 코드를 반환합니다.
- 요약
PHP의 정규 표현식 함수는 텍스트를 쉽게 조작할 수 있는 기본 작업의 유연성과 강력함을 제공합니다. PHP에서 이러한 함수의 사용법과 구문을 이해하는 것이 정규식 학습의 첫 번째 단계입니다.
위 내용은 PHP에서 정규식 함수를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!