> 백엔드 개발 > PHP 문제 > php preg_match는 몇 번이나 일치합니까?

php preg_match는 몇 번이나 일치합니까?

青灯夜游
풀어 주다: 2023-03-15 16:34:02
원래의
1942명이 탐색했습니다.

php preg_match() 함수는 한 번 일치합니다. preg_match() 함수는 정규 표현식을 기반으로 문자열을 검색하고 일치시키는 데 사용되며 일치 항목 수를 반환할 수 있습니다. preg_match()의 값은 첫 번째 이후에 중지되므로 0번(일치 없음) 또는 1번이 됩니다. 일치 검색.

php preg_match는 몇 번이나 일치합니까?

이 튜토리얼의 운영 환경: windows7 시스템, PHP7.1 버전, DELL G3 컴퓨터

php preg_match() 함수는 한 번만 일치합니다.

php preg_match() 함수

PHP의 preg_match() 함수는 정규 표현식을 기반으로 문자열을 검색하고 일치시킬 수 있습니다. 함수의 구문 형식은 다음과 같습니다.

preg_match($pattern,$subject [, &$matches [, $flags = 0 [, $offset = 0 ]]])
로그인 후 복사

매개 변수 설명은 다음과 같습니다.

  • $pattern: 필수 편집된 정규식인 검색 패턴입니다.

  • $subject: 검색할 문자열

  • $matches: 선택적 매개변수(배열 유형), $matches가 제공되는 경우 검색결과로 채워집니다. $matches[0]에는 전체 패턴과 일치하는 텍스트가 포함되고, $matches[1]에는 첫 번째 캡처 하위 그룹과 일치하는 텍스트가 포함됩니다.

  • $flags: 선택적 매개변수, $flags는 PREG_OFFSET_CAPTURE로 설정할 수 있습니다. . 이 태그가 전달되면 일치 항목이 발생할 때마다 문자열 오프셋(대상 문자열 기준)이 반환값에 추가됩니다.

  • $offset: 시작 지점을 지정하는 데 사용되는 선택적 매개변수입니다. 검색을 시작할 대상 문자열의 위치입니다(단위는 바이트).

preg_match() 함수는 $pattern에 대한 일치 수를 반환할 수 있으며, preg_match()가 첫 번째 일치 이후 검색을 중지하기 때문에 해당 값은 0회(일치 없음) 또는 1회가 됩니다.

예: preg_match() 함수를 사용하여 문자열 검색

<?php
    $subject = "abcdefghijkdef";
    $pattern_1 = &#39;/def/&#39;;
    $num = preg_match($pattern_1, $subject, $matches_1,PREG_OFFSET_CAPTURE,8);
    echo &#39;<pre class="brush:php;toolbar:false">&#39;;
    var_dump($matches_1);
    var_dump($num);   //匹配次数为1次
    $pattern_2 = &#39;/def$/&#39;;
    $num = preg_match($pattern_2, $subject, $matches_2, PREG_OFFSET_CAPTURE, 3);
    var_dump($matches_2);
?>
로그인 후 복사

php preg_match는 몇 번이나 일치합니까?

첫 번째 일치의 경우 $pattern_1과 일치하는 하위 문자열이 문자열의 8번째 위치에서 검색됩니다. >$matches_2 배열에는 일치하는 하위 문자열과 대상 문자열에서의 해당 위치가 포함됩니다. $pattern_1 匹配的子串,$matches_2 数组中包含匹配得到的子串和其出现在目标字符串中的位置。

注意第二次正则表达式与第一次的正则表达式不同,其中加了一个定位符号$

두 번째 정규 표현식은 첫 번째 정규 표현식과 다릅니다. 일치하는 문자열의 끝에 위치를 나타내기 위해 위치 지정 기호 $가 추가됩니다.

추천 학습: "PHP 비디오 튜토리얼

"🎜

위 내용은 php preg_match는 몇 번이나 일치합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿