【问题标题】:Preg_match Empty StringsPreg_match 空字符串
【发布时间】:2013-05-20 17:40:57
【问题描述】:

所以,我必须读取一个文本文件并获取某些字段,例如 name*: xxxxx,并将 xxx 保存在一个新文件中。我一直在使用 Regex 获取 xxxx 并将它们保存在文本文件中它运行良好,唯一的问题是,当我找到像 name* 这样的空字段时:preg_match 会跳过它们,我想要的结果是将它们保存为空格“”。

这是我的代码和一些我需要解决问题的文件:

else if (preg_match("/^Data\sde\semiss.o\sdo\sBI\:(.+)/", $line, $matches)) {
            //print_r($matches);
            $total[$titular][]=$matches[1] . ";";
    }

BI 的发射数据:

Arquivo de Identificação:FUNCHAL

Nº de Contribuinte*:12341234

我需要得到一个等于“Data de emissão do BI:”之后空格的 $match,这样我就可以填充一个空单元格(在 csv 文件中)

【问题讨论】:

    标签: php text multidimensional-array preg-match string


    【解决方案1】:

    + 更改为*

    preg_match("/^Data\sde\semiss.o\sdo\sBI\:(.*)/", $line, $matches)
    

    + 匹配 1 个或多个前面的 RE,* 匹配 0 个或多个前面的 RE。所以这允许空字符串。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多