我有一个像这样的字符串:
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')...
有人可以帮忙吗?
由于
答案 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)
为什么不直接搜索“有号码的客户”和“已经存在”?如果两者都找到了,那么你可能正在查看其中一条消息