【发布时间】:2015-08-14 15:48:13
【问题描述】:
我需要按照几个规则拆分字符串,但是,我对正则表达式或 PHP 数组不是很有经验。 所以字符串是这样的:
A N K U N F T 11.08.15
*** N ***
11.08.15 xxx xxx X3 2830 14:25 17:50
18.08.15 xxx xxx X3 2830 18:40 F882129 dsdsaidsaia F882129 xxxyxyagydaysd
我需要把这个字符串放到一个数组中:
date1 -> 11.08.15
date2-> 18.08.15
fnr1 -> X3 2830
h1 - > 17:50
fnr2 -> X3 2830
h2 -> 18:40
n1 -> dsdsaidsaia
n2 -> xxxyxyagydaysd
我在 regex101 做了以下事情:
对于 fnr:
(\w{2}\s\d{4})
日期:
(\n\s\d{2}\W\d{2}\W\d{2})
对于 h:
(\s{2}\d{2}\:\d{2}\n)
但是,我不知道如何区分 date1 与 date2、fnr1 与 fnr2 以及 h1 与。
我已经在 php 中尝试过这个日期,但它没有输出我想要的日期:
$re = "/(\n\s\d{2}\W\d{2}\W\d{2})/";
$str = "";//the string
preg_match($re, $str, $matches);
print_r($matches);
有人可以帮帮我吗?提前谢谢!
【问题讨论】:
-
这个数据有什么一致性?有点像制表符分隔的数据...
\t是一个制表符\h是一个水平空格。 -
这不是代码编写服务器。你展示了你到目前为止所做的工作,我们(也许)会尝试帮助修复它。
-
把它放在你的问题中,它可能会被从保留中删除。我可以回答这个问题,但他阻止了我