php - PHP Regex - 获取字符串中的订单 ID(8 位长,以 0 开头)
问题描述
我有以下字符串
ORDER/07656473/STATUS
by07656473
是我商店中的订单参考。
我目前有一个函数可以像这样从所述字符串中提取 Order 引用
public function getOrderReference()
{
$regex = '/ORDER\/([0-9]{8})\/STATUS/';
if (preg_match($regex, $this->string, $output)) {
return $output[1];
}
return false;
}
现在,它成功地获得了 Order 参考,因为它只是数字,8 个数字长并且介于ORDER
和之间STATUS
。
但是,我需要能够在正则表达式中添加引用应始终以 0 开头。我该如何实现这一点?
我看过类似的东西STATUS\/(0)([0-9]{7})\/ACCEPTED
但是它然后将订单参考分成几部分(0,然后是 7656473),因为我需要它来保持它作为一个整体。
解决方案
我看过类似的东西
STATUS\/(0)([0-9]{7})\/ACCEPTED
但是它然后将订单参考分成几部分(0,然后是 7656473),因为我需要它来保持它作为一个整体。
然后不要将圆括号(将匹配的结果分组)分成两组。保持一组,0
然后将字符类移到前面:
STATUS\/(0[0-9]{7})\/ACCEPTED
推荐阅读
- mysql - 如何在单个查询中获得零件总数、通过零件数和失败零件数
- java - 如何注入实现相同接口的两个不同类的两个实例?
- linux - 为什么我可以创建比“可用内存”/“线程堆栈大小”更多的线程?
- java - 部署war web应用程序时如何在Jboss 7.1中配置jndi引用名称workmanger和timer
- python - 如何检查 django 模板中是否存在模型实例
- python - 如何从超类实例创建子类实例
- qt - QGraphicsLayoutItem 和 QGraphicsTextItem 的子类
- javascript - 用 react.js 类编写的 BMI 计算器需要在提交按钮上单击两次才能改变一些 this.state 值
- sql - 多列比较的索引扫描 - 非统一索引列排序
- django - 对 ImageField 建模并保存在特定路径中