我是PHP中正则表达式的新手。
我的问题是我试图从字符串中找到一个数字。我得到了一个地址:伦敦下街25号。
我想只捕捉25这里的街道号码,但也可以是1或2500。
号码始终位于地址的开头,它始终是第一个"字"
答案 0 :(得分:1)
您可以使用以下内容从字符串的开头抓取数字:
^\d+
https://regex101.com/r/mF1rR6/1
字符串的开头的^
锚点和\d+
在该位置匹配一个或多个数字。
这是进入正则表达式的绝佳资源:
答案 1 :(得分:1)
由于数字始终位于字符串的开头,因此您可以执行如下所示的简单操作。但是当然如果你想在没有正则表达式的情况下做到这一点。
echo '10 Foo Bar Road' + 0;
答案 2 :(得分:0)
你可以使用@dustmouse提到的正则表达式,或者你可以使用纯PHP,如果数字总是第一个"单词":
$address = '10 Foo Bar Road';
$arr = explode(' ',trim($address));
$number = intval($arr[0]);
答案 3 :(得分:0)
使用它:
<?php
$string = '25 Down Street , London';
$str =preg_replace("/[^0-9]/","",$string);
echo $str;
?>