gpt4 book ai didi

php - 使用正则表达式、PHP 解析日志文件

转载 作者:行者123 更新时间:2023-12-02 05:16:19 25 4
gpt4 key购买 nike

我对正则表达式非常糟糕;谁能帮我解决我需要的表达式,以便从日志文件中分离出我需要的两个值?

日志文件示例。

1/28/2013 8:43:22 PM Removed        {178.76.234.41}
1/28/2013 8:43:22 PM Removed {78.105.26.0}
1/28/2013 8:43:22 PM Removed {24.165.198.12}
1/28/2013 8:43:23 PM Added {178.76.234.41}
1/28/2013 8:43:23 PM Added {69.246.227.43}

使用我当前的代码,我能够分离 IP 地址,但是我现在需要状态(添加/删除)和 IP 地址。这是我当前的代码。

preg_match_all("/.*{(.*)}.*/", $a, $b);

我需要用什么来替换“/.{(.)}.*/”以便获取状态和 IP 地址以存储到数组中?

最佳答案

您实际上不需要正则表达式来匹配它。您可以使用 preg_split()\s+ 作为分隔符在空白处拆分它,然后从 IP 地址中去掉大括号 {}使用像 trim() 这样的简单函数。

$output = array();

// While reading line by line...
$parts = preg_split('/\s+/', $line);
$output[] = array(
'state' => $parts[3],
'ip' => trim($parts[4], '{}')
);

http://codepad.viper-7.com/fD8kgQ

关于php - 使用正则表达式、PHP 解析日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14574944/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com