You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP使用preg_match仅提取正则分组结果,跳过完整匹配项

用PHP的preg_match仅提取正则分组内容(YouTube视频ID示例)

要只获取分组里的视频ID很简单,preg_match返回的结果数组中,索引0是完整匹配项,索引1及以后就是你用括号捕获的分组内容,直接取对应索引的值即可。

示例代码

$youtubeUrl = 'https://www.youtube.com/watch?v=SNHW0MJL764&ab_channel=BeritaSatu';
// 修正正则的字符范围:YouTube视频ID只有大小写字母和数字,避免匹配到多余符号
$pattern = '/v=([A-Za-z0-9]+)/';

if (preg_match($pattern, $youtubeUrl, $matches)) {
    // 直接提取第一个分组的结果(索引1)
    $videoId = $matches[1];
    echo $videoId; // 输出:SNHW0MJL764
} else {
    echo '未找到有效的YouTube视频ID';
}

补充说明

你原来写的正则[A-z]存在范围问题,ASCII码中A到z之间包含了^、_、等非字母数字的符号,而YouTube视频ID只会由大小写字母和数字组成,所以改成[A-Za-z0-9]能更精准地匹配目标内容。

内容的提问来源于stack exchange,提问作者Raden Bagus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 17:20:55