我需要从街道地址中抓取第一组数字。地址可能以数字开头,也可能不是;并且可能还有其他数字。
对于以下两个例子,我想得到“123”作为结果:
123 E 9th St
E 123 9th St
我已经尝试了很多东西,但却无法得到它。感谢帮助。
[编辑]抱歉缺乏信息。这是我尝试过的:
$StreetNum = preg_replace( '/^(|\\s)([0-9]+)($|\\s)/', '', $StreetName );
$StreetNum = preg_replace( '/^([0-9]+)?/', '', $StreetName );
$StreetNum = preg_replace( '/^([0-9]+)?/', '', $StreetName );
答案 0 :(得分:2)
试试这个
$string = "E 123 9th St";
$pattern = "/[0-9]+/";
if (preg_match($pattern, $string, $matches)) {
var_dump($matches[0]);
}
答案 1 :(得分:0)
好吧,您可以使用此正则表达式语法(\d){3}
preg_match("/(\d){3}/", "123 E 9th St",$m);
echo $m[0];
<强>输出:强> 123
它可以用来从
获得123123 E 9th St
E 123 9th St
9th St E 123
任何数字组由3组成。我通过查看您的主题来编写它。如果你想要123或其他数字。但他们应该按3分组。这里我做了https://www.regex101.com/r/opuu2n/1
如果它没有给你答案,那就投票吧。我会删除它。