即使没有任何东西,我也要尝试匹配。我要匹配的字符串是:Linha digitavel 999999 barra:vencimento:07/08/2017
我有这个正则表达式:
preg_match("/Linha digitavel ([\.0-9\s]+) barra: ([0-9]+|\0) vencimento: (.*)/", $input, $output);
当在巴拉上有东西时,效果很好,但如果没有,就失败了。我尝试使用([0-9] + |),([0-9] *)和([0-9] {0,}),但它们都不起作用。
测试字符串:
没用:
Linha digitavel 3083981 barra: vencimento: 07/08/2017
作品:
Linha digitavel 3083981 barra: 0303456 vencimento: 07/08/2017
问题是,如果缺少barra值,则空间也减少了一个。您还需要考虑到这一点,方法是将空间设为可选。
preg_match("/Linha digitavel ([\.0-9\s]+) barra: ([0-9]*|\0)\s?vencimento: (.*)/", $input, $output);
(也更改[0-9]+
为[0-9]*
使其可选)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句