gpt4 book ai didi

php - preg_match 中多个相同类型的匹配

转载 作者:行者123 更新时间:2023-12-04 06:39:24 27 4
gpt4 key购买 nike

我想使用 preg_match 为带括号的子模式返回每个匹配项的数组。

我有这个代码:

    $input = '[one][two][three]';

if ( preg_match('/(\[[a-z0-9]+\])+/i', $input, $matches) )
{
print_r($matches);
}

这打印:
Array ( [0] => [one][two][three], [1] => [three] ) 

...只返回完整的字符串和最后一个匹配项。我希望它返回:
Array ( [0] => [one][two][three], [1] => [one], [2] => [two], [3] => [three] ) 

这可以用 preg_match 来完成吗?

最佳答案

使用 preg_match_all()+掉了。

$input = '[one][two][three]';

if (preg_match_all('/(\[[a-z0-9]+\])/i', $input, $matches)) {
print_r($matches);
}

给出:
Array
(
[0] => Array
(
[0] => [one]
[1] => [two]
[2] => [three]
),

[1] => Array
(
[0] => [one]
[1] => [two]
[2] => [three]
)
)

关于php - preg_match 中多个相同类型的匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4453387/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com