如果我有一个字符串,例如“你好,我的客户编号是x,我需要记录一个错误”,其中x总是一个16位数字。我需要识别字符串中所有出现的16位数字。
最好的方法是什么?
答案 0 :(得分:0)
if (preg_match('/[\\d]{16}/', $subject)) {
} else {
}
试试这段代码。它应该在字符串中找到16位数字。
答案 1 :(得分:0)
您可以使用[0-9]{16}
形式的正则表达式(一个数字,16次)。例如:
$message = "blah blah 1024590293404182 blah";
$numbers = array();
preg_match('/[0-9]{16}/', $message, $numbers);
在此之后,$numbers
是一个包含来自$message
的所有16位数字的数组。你也可以这样做:
$message = "blah blah 1024590293404182 blah";
$numbers = array();
if (preg_match('/[0-9]{16}/', $message, $numbers)) {
// There is a 16-digit number in $message, and all numbers are in $numbers
} else {
// No 16-digit number was found
}