2015-11-01 51 views
0

我希望能夠讀取文本文件並識別手機號碼及其在字符串中的位置。即使數字之間有空格,它也必須能夠識別數字。我已經嘗試了以下內容,但結果是假時,它應爲包含兩個移動號碼的數組:識別並找到英國手機號碼在一個字符串中的位置

$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){}

正則表達式的問題?

回答

1

試試這個正則表達式

$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})/";

這將匹配077657890981077 65362 7232+4477657890983+44 077 65362 723

+0

不,又得到一個空值數組與正則表達式 – dlofrodloh

+0

要包括或不國家代碼?因爲這REGEX將匹配+447765789098和+44 077 65362 723.請具體所以我可以更有幫助 –

+1

謝謝的人,作品魅力! – dlofrodloh

相關問題