PHP Regex:如何获取地址字符串中的第一个数字?

时间:2019-11-02 14:35:52

标签: php regex

我需要提取在地址中找到的数字的 first 出现次数。地址将始终以类似开头(我已将要匹配的内容用粗体标记)...

  • 公寓 12 ,公寓2 ...
  • 12 ,公寓名称

为了使它更复杂一些,例如,某些数字可能在字母的一侧有字母。

  • 公寓 12 a,公寓2 ...
  • 12 3号楼的房间...

到目前为止,我的解决方案虽然有效,但无法正常工作。我有

的正则表达式
\b([0-9]+)\b

该数字的任意一边都被空格包围,但是首先它是所有事件的发生而不是第一次发生,这对我的要求至关重要。其次,它不处理在其一侧带有字母的数字,因此例如12a被忽略。

示例代码...

$subject="A 2nd test, Apartment 3, Building 1232, Random Street, RH12 4SZ";
echo "Text to find number in: $subject<BR>";
if (preg_match('\b([0-9]+)\b', $subject, $matches)) {
    echo "match, found number: ".implode(",",$matches);
}else{
    echo "no match";
}

任何人都可以改善我的能力吗?

1 个答案:

答案 0 :(得分:1)

一个简单的\d+就可以了。

演示:https://3v4l.org/vLCaf