RegExp - 检测具有更改数字

时间:2017-06-19 16:14:02

标签: php regex preg-match-all

我有一个像这样的字符串:

A customer with the id '2589' already exists.

数字可以改变,其他的话每次都是相同的。无论数字如何,我如何检测是否是此消息?

所以我想的是这样的事情:

$str = 'A customer with the id '2589' already exists.';
preg_match_all($pattern, $str, $result);

if ($result[0] == 'A' && $result[1] == 'customer' && $result[2] == 'with')...

有人可以帮忙吗?

由于

3 个答案:

答案 0 :(得分:0)

A customer with the id '(\d+)' already exists\.

使用\d检测数字,+检测1或更多。

以下是解释:https://regex101.com/r/3lEsI4/2

如果您需要设置此号码的最小长度,请仅使用{4,}(最少4位数)

如果要设置最大长度,请使用{,6}(最多6位数)

如果您需要设置它们,请使用{4,6}(最小4和最多6位数)

例如:

A customer with the id '(\d{4,6})' already exists\.

所以

$pattern = "/A customer with the id '(\d+)' already exists\./";

答案 1 :(得分:0)

怎么样

$str = 'A customer with the id '2589' already exists.';
$isAMatch = preg_match("/A customer with the id \'(\d)+\' already exists\./", $str);

答案 2 :(得分:0)

为什么不直接搜索“有号码的客户”和“已经存在”?如果两者都找到了,那么你可能正在查看其中一条消息