1. 정규식 메타문자의 정의를 이해합니다.
2. 기본 정규식에서 메타문자의 사용법을 숙지합니다.
특별한 의미를 지닌 정규식 문자 in을 메타 문자라고 합니다. 일반적인 메타 문자는 다음과 같습니다:
, ^, $, [,], |, (,), ?*, +, {, }
요약:
1. 일반적으로 문자를 이스케이프하는 데 사용됩니다.
2. ^는 대상의 시작 위치(또는 여러 줄 모드에서 줄의 시작)를 나타냅니다.
3. 여러 줄 모드에서 줄 끝)
4. 기본적으로 개행 문자
5를 제외한 모든 문자와 일치합니다.
6. 정의 끝 문자를 나타냅니다.
8, (하위 그룹
9의 시작 표시를 나타냄)은 하위 그룹
10의 끝 표시를 나타냅니다. ?: 수량자로 0 또는 1 일치 항목을 나타냅니다.
11. *: 수량자로서 0개 이상의 일치를 의미합니다.
13. {: 맞춤 수량자의 시작 태그를 의미합니다. }: 수량자의 끝 표시
다음 코드는 각 요약을 연습하기 위해 하나씩 사용되며 이해를 촉진할 수 있습니다
1 일반적으로 문자를 이스케이프하는 데 사용됩니다
실행 결과는 다음과 같습니다.
문자열은 다음 규칙을 따릅니다. /A/B/C/
일치 결과는 다음과 같습니다. Array ([0] => A/B/C)
2, ^ 대상의 시작 위치를 나타냅니다(또는 여러 줄 모드에서 다음은 줄의 시작입니다)
구체 코드는 다음과 같습니다.
<?php $p = "/A\/B\/C/";//包含A/B/C字符串 $str = "A/B/C"; if (preg_match($p, $str,$math)) { echo '该字符串符合这个规则:/A\/B\/C/<br/>'; echo "匹配结果为:"; print_r($math); }else{ echo '该字符串不符合这个规则:/A\/B\/C/'; } ?>
실행 결과는 다음과 같습니다.
문자열은 다음과 같습니다. 규칙:일치 결과는 다음과 같습니다. Array ( [0] => Array ( [0] => A [1] => A [2] => A ) )
3 $는 끝을 나타냅니다. 대상 위치(또는 여러 줄 모드에서는 줄 끝)
구체적인 코드는 다음과 같습니다.
<?php $p = "/^A/m";//以A开始 $str = "Abc \nAcc \nAdd"; if (preg_match_all($p, $str,$math)) { echo '该字符串符合这个规则:<br/>'; echo "匹配结果为:"; print_r($math); }else{ echo '该字符串不符合这个规则'; } ?>
실행 결과는 다음과 같습니다.
이 문자열은 이 규칙을 따릅니다.일치하는 결과는 다음과 같습니다. Array ( [0] => Array ( [0] => A [1] => A ) )
특정 코드
4. 기본값 이 경우 개행 문자를 제외한 모든 문자가 일치합니다
<?php $p = "/A$/m";//以A结尾的字符串 $str = "nihao A\n this is a word A"; if (preg_match_all($p, $str,$math)) { echo '该字符串符合这个规则:<br/>'; echo "匹配结果为:"; print_r($math); }else{ echo '该字符串不符合这个规则'; } ?>
일치 결과는 다음과 같습니다. Array ( [0] => Array ( [0] => A,B [1] = > A-B ) )
5, [는 정의 시작 문자를 나타냅니다.
6, ]는 정의 끝 문자를 나타냅니다.
구체적인 코드는 다음과 같습니다.
<?php $p = "/A.B/";//查找A(任何字符除了换行符外)B的字符串 $str = "A,B A-B A\nB"; if (preg_match_all($p, $str,$math)) { echo '该字符串符合这个规则<br/>'; echo "匹配结果为:"; print_r($math); }else{ echo '该字符串不符合这个规则'; } ?>
실행 결과는 다음과 같습니다.
문자열은 다음을 따릅니다. 이 규칙일치 결과는 다음과 같습니다: Array ( [0] => Array ( [0] => 0A [1] => 1A [2] => 2A ) )
7, | Branch
구체적인 코드는 다음과 같습니다.
<?php $p = "/[0-9]A/";//包含小于9的一个数字和A $str = "0A 1A 2A SA"; if (preg_match_all($p, $str,$math)) { echo '该字符串符合这个规则<br/>'; echo "匹配结果为:"; print_r($math); }else{ echo '该字符串不符合这个规则'; } ?>
실행 결과는 다음과 같습니다.
문자열은 이 규칙을 따릅니다.일치 결과는 다음과 같습니다. Array ( [0] => Array ( [0] => 0A [ 1] => 1A [2] => 2B ) )
8, (하위 그룹의 시작 표시를 나타냅니다.
9, )는 하위 그룹의 끝 표시를 나타냅니다.
<?php $p = "/[0-9]A|[0-9]B/";//查找小于9的一个数字和A相连的字符串或者查找 //小于9的一个数字和B相连的字符串 $str = "0A 1A 2B 3C"; if (preg_match_all($p, $str,$math)) { echo '该字符串符合这个规则<br/>'; echo "匹配结果为:"; print_r($math); }else{ echo '该字符串不符合这个规则'; } ?>
실행 결과는 다음과 같습니다.
문자열은 이 규칙을 따릅니다.
일치 결과는 다음과 같습니다: Array ( [0] => Array ( [0] => 1-3 [1] => 2-4 ) [1] => Array ( [0 ] => 1 [1] => 2 ) [2] => 배열 ( [0] => 3 [1] => 4 ) )10. , 이는 0회 또는 1회 일치를 의미합니다.실행 결과는 다음과 같습니다.
구체적인 코드는 다음과 같습니다.<?php $p = "/([0-9])-([0-9])/"; $str = "1-3 2-4 3-s"; if (preg_match_all($p, $str,$math)) { echo '该字符串符合这个规则<br/>'; echo "匹配结果为:"; print_r($math); }else{ echo '该字符串不符合这个规则'; } ?>로그인 후 복사
문자열은 이 규칙을 따릅니다.
일치 결과는 다음과 같습니다. Array ( [0] => Array ( [0] => H [1] => H [2] => H ) [1] => 배열 ([0] => [1] => [2] )11. : 수량자로서 0번 또는 여러 번 일치함을 의미합니다.<?php $p = "/(A[0-9])?H/";//查找H字符 因为?表示出现0或者1次 $str = "A1AH AsH BH"; if (preg_match_all($p, $str,$math)) { echo '该字符串符合这个规则<br/>'; echo "匹配结果为:"; print_r($math); }else{ echo '该字符串不符合这个规则'; } ?>로그인 후 복사
실행 결과:
문자열이 이 규칙을 따릅니다.
일치 결과: Array ( [0] => Array ( [0] => ; H [1] => A1H [ 2] => A2H [3] => A2A2H ) [1] => 배열 ([0] => A1 [2] => ; A2 [3] => A2 ) )12, +: 하나 이상의 일치를 나타내는 수량자실행 결과는 다음과 같습니다.
구체적인 코드는 다음과 같습니다.<?php $p = "/(A[0-9])*H/";//查找H字符 因为*表示出现0或者多次所以和?的结果不同 $str = "A1AH A1H A2H A2A2H"; if (preg_match_all($p, $str,$math)) { echo '该字符串符合这个规则<br/>'; echo "匹配结果为:"; print_r($math); }else{ echo '该字符串不符合这个规则'; } ?>로그인 후 복사
문자열은 이 규칙을 따릅니다
일치 결과는 다음과 같습니다: Array ( [0] => Array ( [0] => A1H [1] => A2H [2] => A2A2H ) [1] => Array ( [0] => A1 [1] => A2 [ 2] => A2 ) )13, { : 사용자 정의 수량자의 시작 태그를 나타냅니다.
14, } : 종료 태그를 나타냅니다. 사용자 정의 수량자
구체적인 코드는 다음과 같습니다.
<?php $p = "/(A[0-9])+H/";//查找H字符 前面至少包含A和一个<9的数字相连 $str = "A1AH A1H A2H A2A2H"; if (preg_match_all($p, $str,$math)) { echo '该字符串符合这个规则<br/>'; echo "匹配结果为:"; print_r($math); }else{ echo '该字符串不符合这个规则'; } ?>
실행 결과는 다음과 같습니다.
문자열은 이 규칙을 따릅니다.
일치 결과는 다음과 같습니다: Array ( [0] => Array ( [0] = > dd [1] => dd [2] => dd ) )요약:
1. 기본 정규식에서 메타문자의 사용법을 숙지하세요
위 내용은 PHP 정규식의 메타문자에 대한 자세한 설명(코드 예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!