Re: [問題] IP比對

看板Perl作者 (Yes We Can !)時間10年前 (2015/06/15 10:31), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
感謝^^ 熱心回答, 自己後來想了想用個笨方法也可以,比對到後面這個IP if(/.*(\d+\.\d+\.\d+\.\d+)/){ ... $1 } 提供之後查詢的人參考 ※ 引述《flu (Crazy Rhythm)》之銘言: : ※ 引述《lalelee (Yes We Can !)》之銘言: : : 標題: [問題] IP比對 : : 時間: Fri Jun 12 17:43:04 2015 : : 我有一個IIS Log 大概長得像這樣: : : 2015-06-05 05:41:36 W3SVC1 172.16.18.11 GET /Menu/index.htm - 80 - : : 172.16.13.74 Mozill/4.0 ..... \n : : 我用 : : while(<FILE>){ : : if($_ =~ /(\d+\.\d+\.\d+\.\d+)/g){ : : ...} : use Regexp::Common qw[net] ; : my $IPv4_pat = $RE{net}{IPv4} ; #預設是comma saparated Decimal 其他還有 : # Hex, Oct.. IPv6的版本也有 : if ( @matched = $_ =~ m/\b ($IPv4_pat) \b/gx) { : .... #第二個會放在 $matched[1] 裡面 : } : ======= : : 但都只能比對到第一個IP "172.16.18.11" ,但我希望比對到的是"172.16.13.74" 後面這 : : 個,請問要怎樣改比較好呢 ? : : 推 herculus6502: if改成while 06/12 18:08 : 要延續在scalar context繼續處理可以考慮搭配 c modifier一起用, 就是 m/.../gc : 這部份就是和目前比對到的 pos 比較有關係 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.69.75.17 ※ 文章網址: https://www.ptt.cc/bbs/Perl/M.1434335466.A.EE2.html
文章代碼(AID): #1LVZZgxY (Perl)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):
1
1
文章代碼(AID): #1LVZZgxY (Perl)