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

PHP字符串匹配求助:如何从指定文本中提取Job ID?

解决PHP正则提取Job ID的问题

你原代码的问题有两个:

  • 正则里用了\[和\]匹配方括号,但目标字符串里的job: 304390是被圆括号包裹的,得改成匹配转义后的圆括号\(和\)
  • 捕获组的规则[A-Za-z\/]+只能匹配字母和斜杠,但Job ID是纯数字,得换成匹配数字的\d+

正确的代码如下:

$search_string = '/jobs/17 has no compatible crew with sufficient capacity (job: 304390)';
preg_match("/\(job: (\d+)\)/", $search_string, $match);
print_r($match);

运行后$match数组里:

  • $match[0]是完整匹配的(job: 304390)
  • $match[1]就是你要的Job ID:304390

如果要兼容job:前后可能出现的空格,可以把正则调整为:

preg_match("/\(job:\s*(\d+)\)/", $search_string, $match);

这里的\s*用来匹配0个或多个空白字符,适配更多格式情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 18:35:13