gpt4 book ai didi

php - 如何使用 preg_match 返回只需要的匹配

转载 作者:可可西里 更新时间:2023-11-01 00:49:33 24 4
gpt4 key购买 nike

我正在尝试从这样的 uris 列表中解析一个整数:

uri.com/upload/123456789_abc.ext

我正在使用这种模式:

preg_match( "#uri\.com\/upload\/(.*?)_#is", $uri, $match );

哪个有效并返回:

Array
(
[0] => uri.com/upload/123456789_
[1] => 123456789
)

但我想知道是否有办法使 $match == "123456789"而不是返回具有多个值的数组。

只修改模式是否可以做到?

最佳答案

它将始终返回一个数组,但您可以更改模式,以便它只匹配您想要的内容。

$uri = "uri.com/upload/123456789_abc.ext";
preg_match('#(?<=uri\.com/upload/)\d+#is', $uri, $match );
print_r($match);

返回

Array ( [0] => 123456789 )

所以它仍然是一个数组,但它只包含整个匹配项,也就是你的数字。

(?<=uri\\.com/upload/) 是一个lookbehind,它不匹配那部分,所以它不是结果的一部分。

\d+ 仅匹配数字,因此不再需要 _

关于php - 如何使用 preg_match 返回只需要的匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10472833/

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