$str="a1234a";
$preg="/(d){4}/i";
上記は 4 つの連続する数値と一致します。
次に、キャプチャ内の部分式は 1 (a部分表現)?
それとも 1324 (部分式)?
それとも 1、2、3、4 (4 つの部分式)?
ディスカッションへの返信 (解決策)
$str = "a1234a";$preg = "/(\d){4}/i";preg_match_all($preg, $str, $res);print_r($res);Array を見てください
] [0] => 1234
)
[1] => Array
(
したがって、次の部分式は次のようになります。
は 1 (部分式) ですか?
それとも 1324 (部分式)?
それとも 1、2、3、4 (4 つの部分式)?
一般に、最初の値は式全体によって取得される部分です
正規表現と同じです
最初の値は: 1234
2 番目の値は: 4
配列 $ を使用する場合
を表す arr、つまり $arr[0] == 1234
$arr[1] == 4
使用するもの (d){4} は、単一の数字が 4 回繰り返されるサブグループであることを意味します。実行後は次のようになります
d は 1 に一致、サブグループは 1
d は 2 に一致、同じサブグループ、前の値を上書き、サブグループは 2
d は 3 に一致、同じサブグループ、前の値を上書き、サブグループは 3
d は 4 つの同一のサブグループに一致し、前の値を上書きし、サブグループは 4 になります
(d{4}) の場合、明らかに前の値とは異なります。つまり、4 つの連続する数字がサブグループであることを意味します