【问题标题】:How to get numbers between a long space (PHP Regex)如何在长空格之间获取数字(PHP Regex)
【发布时间】:2019-06-19 03:56:45
【问题描述】:

我想专门用 PHP 正则表达式提取数字,虽然我目前正在尝试使用 regex101 网站,但我并没有得到非常多的正则表达式。事情是,我有这个:

66
                              28006 MadridVer teléfono

(从字面上看,它有更多的空格,实际上下一行显示了 28006 MadridVer teléfono)。而且我想提取数字 28006 或至少以我将 28006 分别放在其中一个组中的方式拆分表达式的结果。我的 php 正则表达式是什么样的?也许除了捕获空间之外,我还应该捕获一条新线或其他东西。但我完全迷失了(是的,我还是一个绝对的正则表达式新手)。

【问题讨论】:

  • 您的意思是只匹配 1 个数字并且字符串开头应该有空格字符吗? 3v4l.org/8Leku

标签: php regex preg-match-all


【解决方案1】:

我认为不需要正则表达式。

删除新行并在空间上爆炸。
然后使用 array_filter 从数组中删除空值,并使用 array_values 重新排列数组。

$str = "66
                              28006 MadridVer teléfono";

$str = str_replace("\n", " ", $str);
$arr = explode(" ", $str);
$arr = array_values(array_filter($arr));
var_dump($arr);

返回:

array(4) {
  [0]=>
  string(2) "66"
  [1]=>
  string(5) "28006"
  [2]=>
  string(9) "MadridVer"
  [3]=>
  string(9) "teléfono"
}

【讨论】:

    猜你喜欢
    • 2016-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-04
    • 1970-01-01
    • 2023-01-02
    • 2016-06-10
    相关资源
    最近更新 更多