$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 なのはなぜですか? 「1」であるべきではないでしょうか?
Q3: $stringの出力結果が1Cの場合、$string1の出力結果は「1C$」ではないでしょうか?
[0-5] は 0-5 のいずれかと一致します。
w は、アンダースコアを含む任意の単語文字と一致します。 「[A-Za-z0-9_]」と同等。 $ は範囲内にありません
+ は 1 回以上識別されます
$、+ などはすべて特殊記号であるため、これらの文字と一致させたい場合は、$pattern でどの特殊記号と一致させたいかを明確に指定する必要があります (転送するにはバックスラッシュを使用します)。
たとえば、次の場合$string2 で一致させたい $ と一致させるには、 $zz = '/[0-5]w+/'; を $zz = '/[0-5]w+$/'; に変更するだけです。
Q1、+ は、1 回以上出現する前の原子と一致することを意味します
Q2、Q1 を参照、+ は、前の w (文字) が 1 回以上出現することを意味するため、1 の後の C も一致します
Q3、次のような記号$、+、- はすべて特殊記号なので、どこのブログで読んだか忘れました。$ を他の文字に置き換えてみると一致します。通り過ぎました、説明していただければ幸いです