PHP Complex正则表达式

马克·埃里克森

我正在iPhone上键入此代码,因此很难格式化代码等。

基本上,我有一个文本文件,其内容类似于以下内容:

Mercedes Benz 4726498 on April 23rd 2015 03:02:14 am (1847284839)
Vauxhall Astra 3819482 on April 25th 2015 01:26:34 pm (382838484)
Vauxhall Astra Estate 4728482 (22) on June 22nd 2015 02:48:42 pm (382848388)

基本上,它是一个或多个单词的序列,一个7位数字,然后是方括号之间的数字,日期字符串和方括号中的数字的几率

每行将包含一系列单词,7位数字,日期字符串和末尾的数字

括号中的数字(例如第三行)在某些行中,但不是全部

基本上,我想在PHP中编写一个正则表达式以提取除日期字符串以外的所有信息。

我已经尝试了各种各样的尝试,反复试验了很长时间,只是无法找到解决方案!

如果有人可以帮助我,我将不胜感激!:-)

编辑以添加评论的最佳尝试:它是这样的:

preg_match('/(^[a-zA-Z\'-]+\s[a-zA-Z\'-]+) ([0-9]+) (([0-9]+))(\s(([0-9]{2}?)))?/', $line, $matches);

多谢你们!标记

路加

以下内容似乎起作用:

([A-Za-z ]*) ([0-9]{7}) (?:\(([0-9]{2})\) )?on ([A-Za-z0-9: ]*) \(([0-9]*)\)

当应用于示例输入时,我们得到以下数组:

array(6
    0   =>  Mercedes Benz 4726498 on April 23rd 2015 03:02:14 am (1847284839)
    1   =>  Mercedes Benz
    2   =>  4726498
    3   =>  
    4   =>  April 23rd 2015 03:02:14 am
    5   =>  1847284839
)

array(6
    0   =>  Vauxhall Astra Estate 4728482 (22) on June 22nd 2015 02:48:42 pm (382848388)
    1   =>  Vauxhall Astra Estate
    2   =>  4728482
    3   =>  22
    4   =>  June 22nd 2015 02:48:42 pm
    5   =>  382848388
)

http://www.phpliveregex.com上尝试一下

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章