PHP 正则表达式 - 获取字符串中的订单 ID(8 位长,以 0 开头)
PHP Regex - Get Order ID (8 digits long, starts with 0) within a string
我有以下字符串
ORDER/07656473/STATUS
其中 07656473
是我店内的订单参考。
我目前有一个函数可以像这样从所述字符串中提取订单引用
public function getOrderReference()
{
$regex = '/ORDER\/([0-9]{8})\/STATUS/';
if (preg_match($regex, $this->string, $output)) {
return $output[1];
}
return false;
}
现在成功获得订单参考,因为它只是数字,长度为 8 个数字,介于 ORDER
和 STATUS
之间。
但是我需要能够在正则表达式中添加引用应始终以 0 开头的内容。
我怎样才能做到这一点?
我看过这样的东西STATUS\/(0)([0-9]{7})\/ACCEPTED
但它随后将订单参考拆分为多个部分(0 和 7656473),我需要将其作为一个整体保留。
I had looked at something like this STATUS\/(0)([0-9]{7})\/ACCEPTED
But it then splits the order reference in parts (0 and then 7656473) where as I need it to keep it as a whole.
那就不要将匹配结果分组的圆括号分成两组。保留一个组,把0
移到class:
字符前
STATUS\/(0[0-9]{7})\/ACCEPTED
我有以下字符串
ORDER/07656473/STATUS
其中 07656473
是我店内的订单参考。
我目前有一个函数可以像这样从所述字符串中提取订单引用
public function getOrderReference()
{
$regex = '/ORDER\/([0-9]{8})\/STATUS/';
if (preg_match($regex, $this->string, $output)) {
return $output[1];
}
return false;
}
现在成功获得订单参考,因为它只是数字,长度为 8 个数字,介于 ORDER
和 STATUS
之间。
但是我需要能够在正则表达式中添加引用应始终以 0 开头的内容。 我怎样才能做到这一点?
我看过这样的东西STATUS\/(0)([0-9]{7})\/ACCEPTED
但它随后将订单参考拆分为多个部分(0 和 7656473),我需要将其作为一个整体保留。
I had looked at something like this
STATUS\/(0)([0-9]{7})\/ACCEPTED
But it then splits the order reference in parts (0 and then 7656473) where as I need it to keep it as a whole.
那就不要将匹配结果分组的圆括号分成两组。保留一个组,把0
移到class:
STATUS\/(0[0-9]{7})\/ACCEPTED