preg_match找到邮政地址

时间:2014-12-18 22:23:27

标签: php preg-match

我需要你关于preg_match的帮助。 我尝试从字符串中提取postal address。我使用preg_match来执行此操作:

$search  = "blablablabla 10 rue Robert Schuman 75000 Paris blablablabla";
$preg=preg_match("'[0-9] rue (.*) ([0-9]{5})'s" ,$search,$infos);
print_r($infos);

这给了我:

0 rue Robert Schuman 75000

如何才能找到10而非0

谢谢!

2 个答案:

答案 0 :(得分:1)

$preg=preg_match("'[0-9]* rue (.*) ([0-9]{5})'s" ,$search,$infos);

将匹配任意数量的数字。

ETA如果您想要一个或多个数字:

$preg=preg_match("'[0-9]+ rue (.*) ([0-9]{5})'s" ,$search,$infos);

答案 1 :(得分:1)

这应该适合你:

<?php

    $search  = "blablablabla 10 rue Robert Schuman 75000 Paris blablablabla";
    $preg = preg_match("/\d+ rue (.*) ([0-9]{5})/s" ,$search,$infos);
    print_r($infos);

?>

输出:

Array
(
    [0] => 10 rue Robert Schuman 75000
    [1] => Robert Schuman
    [2] => 75000
)