欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

php preg Group

陳怡靜1年前6瀏覽0評論

在PHP編程中,正則表達(dá)式是非常重要的一個組成部分,可以使用PHP內(nèi)置的preg函數(shù)來支持正則表達(dá)式的操作,其中的preg_group函數(shù)尤其重要。所謂preg_group,就是從匹配的結(jié)果中獲取特定的分組信息。

在正則表達(dá)式中,使用圓括號()來表示分組,每一個分組都可以用preg_group函數(shù)來獲取其匹配的結(jié)果。例如:

$str = "apple,pear,orange";
preg_match('/(\w+),(\w+),(\w+)/',$str,$match);
print_r($match);

輸出的結(jié)果如下:

Array
(
[0] => apple,pear,orange
[1] => apple
[2] => pear
[3] => orange
)

我們可以看到,preg_match函數(shù)的返回結(jié)果是一個數(shù)組,其中包含了匹配到的所有字符串及其對應(yīng)的分組結(jié)果。

除了可以使用數(shù)組下標(biāo)來訪問分組結(jié)果外,也可以使用preg_group函數(shù)來獲取相應(yīng)的分組結(jié)果。例如:

echo preg_group(1,$match); //輸出"apple"
echo preg_group(2,$match); //輸出"pear"
echo preg_group(3,$match); //輸出"orange"

在實(shí)際的編程中,preg_group函數(shù)通常用于對匹配結(jié)果的特定分組進(jìn)行進(jìn)一步的處理,例如:

$str = "2012-08-01 12:34:56";
preg_match('/(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})/',$str,$match);
$year = preg_group(1,$match);
$month = preg_group(2,$match);
$day = preg_group(3,$match);
$hour = preg_group(4,$match);
$minute = preg_group(5,$match);
$second = preg_group(6,$match);
echo "{$year}年{$month}月{$day}日 {$hour}時{$minute}分{$second}秒"; //輸出"2012年08月01日 12時34分56秒"

上述代碼使用正則表達(dá)式提取了一個日期時間字符串中的年、月、日、時、分、秒等信息,并使用preg_group函數(shù)分別獲取這些信息,最后將其以人類可讀的方式輸出。

有時候,正則表達(dá)式中可能會涉及到多個分組,需要同時獲取它們的匹配結(jié)果。preg_match_all函數(shù)可以同時取得所有匹配結(jié)果,并返回一個二維數(shù)組。

$str = "apple,pear,orange,banana,watermelon";
preg_match_all('/(\w+)/',$str,$match);
print_r($match);

輸出的結(jié)果如下:

Array
(
[0] => Array
(
[0] => apple
[1] => pear
[2] => orange
[3] => banana
[4] => watermelon
)
[1] => Array
(
[0] => apple
[1] => pear
[2] => orange
[3] => banana
[4] => watermelon
)
)

上述代碼中,使用preg_match_all函數(shù)獲取一個字符串中的所有單詞(即由字母、數(shù)字、下劃線組成的字符串),并將結(jié)果保存到一個二維數(shù)組中。其中,第一維數(shù)組包含了所有的匹配字符串,第二維數(shù)組是每個匹配字符串對應(yīng)的所有分組信息。

可以使用preg_group函數(shù)來獲取任意一個匹配結(jié)果中特定分組序號的數(shù)據(jù),例如:

echo preg_group(1,$match[0]); //輸出"apple"
echo preg_group(1,$match[1]); //輸出"apple"
echo preg_group(2,$match[1]); //輸出"pear"
echo preg_group(1,$match[0][3]); //輸出"banana"

總之,preg_group函數(shù)是正則表達(dá)式在PHP編程中的一個非常重要的應(yīng)用,可以方便地獲取匹配結(jié)果中的特定分組序號數(shù)據(jù),為實(shí)現(xiàn)各類高級字符串處理提供了強(qiáng)有力的支持。

上一篇php prev