首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP正则表达式以查找字符串开头的任意数字

PHP正则表达式以查找字符串开头的任意数字
EN

Stack Overflow用户
提问于 2011-05-05 12:05:00
回答 2查看 3.1K关注 0票数 5

我正在使用PHP,希望能够创建一个regex来查找并返回地址的街道编号部分。

示例:

1234-南大道。华盛顿特区,306号公寓,ZIP45234

在上面的例子中,只会返回1234。

这看起来应该非常简单,但我还没有成功。任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-05 12:08:40

试试这个:

$str = "1234- South Blvd. Washington D.C., APT #306, ZIP4523";
preg_match("~^(\d+)~", $str, $m);
var_dump($m[1]);

输出:

string(4) "1234"
票数 5
EN

Stack Overflow用户

发布于 2018-06-17 00:26:41

我知道您请求了regex,但不使用它可能会更有效(我还没有做基准测试)。下面是一个您可能会发现有用的函数:

function removeStartInt(&$str)
{
    $num = '';
    $strLen = strlen($str);
    for ($i = 0; $i < $strLen; $i++)
    {
        if (ctype_digit($str[$i]))
            $num .= $str[$i];
        else
            break;
    }
    if ($num === '')
        return null;
    $str = substr($str, strlen($num));
    return intval($num);
}

它还从字符串中删除数字。如果您不希望这样做,只需将(&$str)更改为($str)并删除行:$str = substr($str, strlen($num));

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5892560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档