我希望能够读取一个文本文件,并识别移动号码及其在字符串中的位置。即使在数字之间有空格时,它也必须能够识别数字。我尝试了以下方法,但是如果它应该是包含两个移动号码的数组,则结果是假的:
$fstring="A UK mobile number: 07765789098... here's another: 077 65362 723";
$pattern = "^(\+44\s?7\d{3}|\(?07\d{3}\)?)\s?\d{3}\s?\d{3}$^";
preg_match ($pattern, $fstring, $matches, PREG_OFFSET_CAPTURE);
var_dump($matches);给我:
数组(0){}
看守所出了问题吗?
发布于 2015-11-01 06:33:30
试试这个正则表达式
$pattern = "/(\S44+[7]+\d{9})|(\S44+\s+[07]+\d{1}+\s+\d{5}+\s+\d{3})/";
将与+4477657890983 +44 077 65362 723匹配
第一部分不会查找行或字符串的开头,它会在任何地方找到电话,在那之后,我会发现它是否有7或07作为不同的类型样式,然后它将匹配9位数。
然后你去摇滚。也可以检查没有+44的字符串。
$pattern = "/((\S44)?+0?[7]+\d{9})|((\S44+\s)?+[07]+\d{1}+\s+\d{5}+\s+\d{3})/";
这将与077657890981 077 65362 7232 +4477657890983 +44 077 65362 723匹配。
https://stackoverflow.com/questions/33459751
复制相似问题