我需要你关于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
?
谢谢!
答案 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
)