PHP Regex不匹配

马丁

即使没有任何东西,我也要尝试匹配。我要匹配的字符串是: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]*使其可选)

https://regex101.com/r/fV8nT9/1

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章