URL からプライベート ネットワーク IP を除外しようとしています。
以前はこのコードを持っていました
if(!sCurrentLine.startsWith("192.168") && !sCurrentLine.startsWith("172.") && !sCurrentLine.startsWith("10.")&& !sCurrentLine.startsWith("127.0.0"))
データ例
10.1.1.83/nagiosxi/
10.1.1.83/nagiosxi//rr.php?uid=18-c96b5fb53f9
127.0.0.1/tkb/internet/
172.18.20.200/cgi-bin/topstats.pl?submit_type=topstats&time=00:2
これが私の新しいコードです
Pattern privateIp=Pattern.compile("(^127\\.0\\.0\\.1)|(^10\\.)|(^172\\.1[6-9]\\.)|(^172\\.2[0-9]\\.)|(^172\\.3[0-1]\\.)|(^192\\.168\\.)");
while((sCurrentLine=br.readLine())!=null)
{
Matcher pnm=privateIp.matcher(sCurrentLine);
if(!pnm.matches())
{
System.out.println("not match");
}
}
パターンマッチを使おうと思っています。ただし、Pattern.compile
この正規表現は使用しません。
または、プライベート ネットワーク IP を処理できる機能はありますか。
それについて何か考えはありますか?