从文本文件中的某一行获取/过滤某些文本

时间:2015-03-22 19:53:50

标签: regex text filter

我有包含所有播放器所有IP的文本文件,我正在尝试为我的服务器制作白名单

问题是该行还有更多信息

每一行都是这样的:

L 12/21/2014 - 23:20:00: [sm_allinfo_v2.1.1.smx] .:[Name: somename | STEAMID: STEAM_1:1:10101010 | IP: 111.111.00.00]:.

我想只有111.111.00.00(IP部分),所以在文件中每行只是一个ip

我不确定这是否可以用记事本++完成,有人可以写一个脚本,因为我对此非常缺乏经验

1 个答案:

答案 0 :(得分:0)

这是适用于我的正则表达式:

/.*IP\:\s(\d+\.\d+\.\d+\.\d+)/

here中测试。

在PHP中实现:

// define $string_read_from_file before this
preg_match_all("#.*IP\:\s(\d+\.\d+\.\d+\.\d+)#", $string_read_from_file, $matches);
foreach($matches[1] as $match)
    echo $match . "<br>"; // priting all the matched IPs