기본 PHP 개발 튜토리얼:...LOGIN

기본 PHP 개발 튜토리얼: 정규 표현식의 Atom

1. Atom

Atom은 직설적으로 말하면 일치해야 하는 내용입니다. 유효한 정규 표현식에는 하나 이상의 원자가 포함되어야 합니다.

보이는 문자와 보이지 않는 문자는 모두 원자입니다.

참고: 공백, 캐리지 리턴, 줄 바꿈, 0-9, A-Za-z, 중국어 및 구두점은 표시됩니다. , 특수 기호는 모두 원자입니다.

원자적 예제를 수행하기 전에 먼저 preg_match 함수를 설명하겠습니다.

구문:

int preg_match( string $regular , string $string[, array &$result] )

기능: $regular 변수를 기준으로 $string 변수를 일치시킵니다. 존재하는 경우 일치 항목 수를 반환하고 일치된 결과를 $result 변수에 넣습니다. 일치하는 결과가 없으면 0

을 반환합니다. 참고: 위는 preg_match에서 일반적으로 사용하는 주요 매개변수입니다. 위에는 다른 여러 매개변수를 나열하지 않았습니다. 다른 두 매개변수는 너무 드물기 때문입니다.

프로그램을 통해 검증해보자:

예: 코드는 다음과 같다

<?php
//定义一个变量pattern,存放正则表达式
$pattern = '/a/';
//待搜素字段
$string = 'ddfdjjvi2jfvkwkfi24';
//判断,如果匹配到了,输出$matcges的值
if(preg_match($pattern, $string, $matches)){
    echo '匹配到了,结果为:';
    var_dump($matches);
}else{
    echo '没有匹配到';
}
?>

결과:

a를 매칭하고 싶은데 $string이 a로 존재하지 않아서 실패합니다.

이 예를 변환

예: 코드는 다음과 같습니다

<?php
//定义一个变量pattern,存放正则表达式
$pattern = '/f/';
//待搜素字段
$string = 'ddfdjjvi2jfvkwkfi24';
//判断,如果匹配到了,输出$matcges的值
if(preg_match($pattern, $string, $matches)){
    echo '匹配到了,结果为:';
    var_dump($matches);
}else{
    echo '没有匹配到';
}
?>

결과:

The f 위의 문자열이 존재하므로 일치가 성공합니다

다음으로 공백을 일치시켜 보겠습니다.

예: 다음과 같이

<?php
$zz = '/ /';
$string = 'sssssw aaaaa';
if(preg_match($zz, $string, $matches)){
    echo '匹配到了,结果为:';
    var_dump($matches);
}else{
    echo '没有匹配到';
}
?>

결과:

이 때문에 $string 변수의 w 문자 뒤에 공백이 있습니다. 따라서 일치가 성공하고 문자열 유형의 길이가 1로 출력됩니다. 단지 우리의 육안으로는 보이지 않아서 이 끈을 볼 수 없습니다.

2. 특별히 표시된 원자

19.png

참고: 여기에서 각각 기억해야 합니다. 라이브는 받아쓰기 수준에 도달하는 것이 가장 좋습니다. 암기할 때 쌍으로 기억하세요. d는 0-9와 일치하고 D는 0-9를 제외한 모든 문자입니다.
위 내용은 매우 명확하게 설명되어 있습니다. 단계별로 학습하기 위한 실험을 진행해 보겠습니다.

공부할 때 꼭 이 원자에 대한 받아쓰기 수준에 도달하시기 바랍니다. 왜냐하면 앞으로 실험을 하면 조금씩 배울 것이기 때문입니다.

3.d는 0~9와 일치합니다

코드는 다음과 같습니다.

<?php
$zz = '/\d/';

$string = '床9前明月光';

if(preg_match($zz, $string, $matches)){
    echo '匹配到了,结果为:';
    var_dump($matches);
}else{
    echo '没有匹配到';
}

?>

4.D는 0-9

예: 코드는 다음과 같습니다

<?php
header("Content-type:text/html;charset=utf-8");
$zz = '/\D/';
$string = '121243中23453453';
if(preg_match($zz, $string, $matches)){
    echo '匹配到了,结果为:';
    var_dump($matches);
}else{
    echo '没有匹配到';
}
?>

5. zA-Z0-9_

예제는 다음과 같습니다

<?php
$zz = '/\w/';

$string = '新中_国万岁呀万岁';

if(preg_match($zz, $string, $matches)){
    echo '匹配到了,结果为:';
    var_dump($matches);
}else{
    echo '没有匹配到';
}

?>

6. W는 a-zA-Z0-9_가 아닌 것과 일치합니다. 🎜>

예제는 다음과 같습니다

<?php
$zz = '/\W/';

$string = 'afasABCWEQR44231284737';

if(preg_match($zz, $string, $matches)){
    echo '匹配到了,结果为:';
    var_dump($matches);
}else{
    echo '没有匹配到';
}

?>

7.s는 모든 공백 문자 n t r 공백과 일치합니다

예시는 다음과 같습니다

<?php
$zz = '/\s/';

$string = "中国万
岁";

if(preg_match($zz, $string, $matches)){
    echo '匹配到了,结果为:';
    var_dump($matches);
}else{
    echo '没有匹配到';
}

?>

8. S null이 아닌 문자

예는 다음과 같습니다.

<?php
$zz = '/\S/';

$string = "        
          a       ";

if(preg_match($zz, $string, $matches)){
    echo '匹配到了,结果为:';
    var_dump($matches);
}else{
    echo '没有匹配到';
}

?>

가 성공적으로 일치합니다. 공백이 있더라도 캐리지 리턴 및 들여쓰기가 수행됩니다. 그러나 공백이 아닌 문자 a가 있습니다. 따라서 경기는 성공합니다.

9. [] 원자 범위 지정

예제는 다음과 같습니다

<?php

$zz = '/[0-5]\w+/';

$string = '6a';

$string1 = '1C';

if(preg_match($zz, $string, $matches)){
    echo '匹配到了,结果为:';
    var_dump($matches);
}else{
    echo '没有匹配到';
}

?>

다시 시도하여 $를 변경하세요. string을 $ string1로,

과 일치하는지 확인하세요. 결론:
위의 예에서 0-5는 $string과 일치하지 못했지만 $string1은 성공했습니다. 왜냐하면 $string의 첫 번째 값은 6이며 이는 [0-5] 범위에 속하지 않습니다.

10. [^ 문자]는 지정된 간격의 문자와 일치하지 않습니다.

코드는 다음과 같습니다:

<?php

$zz = '/[^0-9A-Za-z_]/';

$string = 'aaaaab311dd';

$string1 = '!$@!#%$#^##';

if(preg_match($zz, $string, $matches)){
    echo '匹配到了,结果为:';
    var_dump($matches);
}else{
    echo '没有匹配到';
}

?>

결론 :

은 $string 매칭에 실패했으나, $string1 매칭에 성공했습니다. 대괄호 안에 곡절 기호가 있기 때문입니다.

^ 대괄호 안의 곡절 문자의 기능은 대괄호 안의 문자와 일치하지 않는 것입니다.

11. 요약

20.png

다음 섹션
<?php //定义一个变量pattern,存放正则表达式 $pattern = '/a/'; //待搜素字段 $string = 'ddfdjjvi2jfvkwkfi24'; //判断,如果匹配到了,输出$matcges的值 if(preg_match($pattern, $string, $matches)){ echo '匹配到了,结果为:'; var_dump($matches); }else{ echo '没有匹配到'; } ?>
코스웨어