我正试图从通过联系表格提交给我的信息中提取电话号码。这份“联系表格”每天收到一千多份意见书,许多提交人正在犯格式化错误,例如:
“请回电925-943-2343分机304”(电话号码前无空位)
目前,我的regex (如下所示)正以某些格式错误(例如在数字之前缺少空格)缺少这些数字。
foreach (...)
{
$regex = '/^(?:1(?:[. -])?)?(?:\((?=\d{3}\)))?([2-9]\d{2})'
.'(?:(?<=\(\d{3})\))? ?(?:(?<=\d{3})[.-])?([2-9]\d{2})'
.'[. -]?(\d{4})(?: (?i:ext)\.? ?(\d{1,5}))?$/';
if (preg_match($regex, $msg))
{
$phonenumber = preg_replace($regex, '($1) $2-$3 ext. $4', $msg);
echo $phonenumber;
}
}有小费吗?
相关问题:
$regex = '/^(?:1(?:[. -])?)?(?:\((?=\d{3}\)))?([2-9]\d{2})'
.'(?:(?<=\(\d{3})\))? ?(?:(?<=\d{3})[.-])?([2-9]\d{2})'
.'[. -]?(\d{4})(?: (?i:ext)\.? ?(\d{1,5}))?$/';
$line = "(732) 912 0159 ";
if (preg_match($regex, $line))
{
$phonenumber = preg_replace($regex, '($1) $2-$3 ext. $4', $line);
echo $phonenumber;
}为什么这个什么都不回呢?
发布于 2011-08-18 16:58:58
试试这个:
[01]?[- .]?\(?[2-9]\d{2}\)?[- .]?\d{3}[- .]?\d{4}(?:i.{0,3}x?.{0,9})(\d{1,5})https://stackoverflow.com/questions/7111057
复制相似问题