<?php
$zz = '/[0-5]w+/';
$string = '1C';
$string2 = '1C$';
if(preg_match($zz, $string, $matches)){
echo '일치, 결과는 다음과 같습니다:';
var_dump($matches);
}else{
echo '일치하지 않음 ';
}
?>
Q1:$zz = '/[0-5]w+/'로 이동하세요. 이 + 기호는 나중에 일부 예시에 포함되지 않은 이유는 무엇인가요? ?
Q2: $string 출력 결과가 1C인 이유는 무엇입니까?
Q3: $string의 출력 결과가 1C라면 $string1의 출력 결과도 “1C$”가 되어야 하지 않나요?
[0-5]는 0-5 중 하나와 일치할 수 있습니다.
w는 밑줄을 포함한 모든 단어 문자와 일치합니다. '[A-Za-z0-9_]'와 동일합니다. $가 범위 내에 없습니다
+는 한 번 이상 식별합니다
$, + 등은 모두 특수기호이므로 이들 문자를 일치시키려면 $pattern에서 어떤 특수기호를 일치시키고 싶은지 명확하게 표시해야 합니다(전송하려면 백슬래시 사용).
예를 들어 다음과 같은 경우 $string2에서 일치시키려면 $zz = '/[0-5]w+/';를 $zz = '/[0-5]w+$/';로 변경하세요.
Q1, +는 이전 원자가 1번 이상 나타나는 것을 의미합니다.
Q2, Q1 참조, +는 이전 w(문자)가 1번 이상 나타나는 것을 의미하므로 1 뒤의 C도 일치합니다.
Q3, 다음과 같은 기호 $, +, -는 모두 특수 기호입니다. W는 이러한 특수 기호를 일치시킬 수 없습니다. $를 다른 문자로 변경해 보면 일치할 것입니다. 지나가다 설명해주셨으면 좋겠습니다