php preg match 多行,php preg_match_all 匹配换行截止

preg_match_all函数可能匹配[^\r\n]可能有问题,我给替换成点,就可以了.点也代表除换行符外的所有字符.另外,为使.*能够找到行尾,我给正则表达式改成了多行形式.

完整的PHP程序如下

$log="[2018-07-24 07:03:57] SessionId[无序字符串1][INFO][无序字符串4]无序字符串7\r\n[2018-07-24 07:03:58] SessionId[无序字符串2][INFO][无序字符串5]无序字符串8\r\n[2018-07-24 07:03:58] SessionId[无序字符串3][INFO][无序字符串6]无序字符串9\r\n";

$regex="/^\[(.*)\] SessionId\[(.*)\]\[INFO\]\[(.*)\](.*)$/mU";

preg_match_all($regex,$log,$out);

print_r($out);

?>

运行结果

Array

(

[0] => Array

(

[0] => [2018-07-24 07:03:57] SessionId[无序字符串1][INFO][无序字符串4]无序字符串7

[1] => [2018-07-24 07:03:58] SessionId[无序字符串2][INFO][无序字符串5]无序字符串8

[2] => [2018-07-24 07:03:58] SessionId[无序字符串3][INFO][无序字符串6]无序字符串9

)

[1] => Array

(

[0] => 2018-07-24 07:03:57

[1] => 2018-07-24 07:03:58

[2] => 2018-07-24 07:03:58

)

[2] => Array

(

[0] => 无序字符串1

[1] => 无序字符串2

[2] => 无序字符串3

)

[3] => Array

(

[0] => 无序字符串4

[1] => 无序字符串5

[2] => 无序字符串6

)

[4] => Array

(

[0] => 无序字符串7

[1] => 无序字符串8

[2] => 无序字符串9

)

)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值