我想从每一行中提取IPV4地址。可能有有效或无效的IP地址,我想将它们全部打印出来。
e.g。
Failed service from 212.345.23.234
Successfully logged in at 13:09:89 from 12.34.76.54
Ping from 123.567.42.56
.....
.....
Output:
212.345.23.234
12.34.76.54
123.567.42.56
.....
我需要一个正则表达式,我可以像currentLine.contains(PATTERN)一样直接针对每一行。我不想将字符串标记为标记并针对每个标记运行RE。
答案 0 :(得分:1)
答案 1 :(得分:0)
如果IP始终位于行和行中,则可以这样做
String ip = str.substring(str.lastIndexOf(' ') + 1);
答案 2 :(得分:0)
匹配ip与正则表达式...我不得不自己滚动。它似乎适用于所有IP范围,虽然繁琐。让我知道,如果它失败了,因为我需要更新我自己的:
\b(?:(?:2[0-5][0-5]|1[0-9][0-9]|1[0-9]|[1-9]{1,2})\.){3}(?:2[0-5][0-5]|1[0-9][0-9]|1[0-9]|[1-9]{1,2})\b
这不会提取任何东西,只是匹配。由你来做你需要的。