簡體   English   中英

IP地址的正則表達式

[英]Regular expression for IP Address

我需要能夠搜索日志並獲取記錄的IP地址。 日志行示例如下所示:

[2012-06-05 11:59:52]注意[14369] chan_sip.c:“ yy.yy.yy.yyy”的“”注冊失敗-未找到匹配的對等項

我需要獲取yy.yy.yy.yyy位置中列出的IP地址。 對於其他日志文件, yy.yy.yy.yyy將位於不同的位置。

我正在考慮讀取每一行,在' '上分割,然后遍歷以下分割的臨時數組: 'yy.yy.yy.yyy' 我只是不知道如何在包含單引號的情況下為'yy.yy.yy.yyy'模式匹配或正則表達式。 我怎樣才能做到這一點?

此正則表達式將與“

'(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})'

要遍歷perl中的所有匹配項,請執行以下操作:

while ($subject =~ m/'(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})'/g) {
    # matched text = $&
}

比賽的第1組僅包含IP,因此不包含“

while (<>) {
    my ($ip) = $line =~ /for '((?:[0-9]+\.){3}[0-9]+)'/
       or next;

    ... do something with $ip ...
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM