import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "\\b(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9]))\\b";
final String string = "This REGULAR EXPRESSION is just for searching for dotted decimal IPv4 Adresses.\n"
+ "Unlike a shorter one, this one is made for seeing the numbers in seperate Mach-groups-thingy.\n"
+ "I also included some unit tests.. But i think they are not needed.\n\n"
+ "Below are some tests:\n\n"
+ "Valid:\n"
+ "0.0.0.0\n"
+ "1.2.3.4\n"
+ "127.0.0.1\n"
+ "8.8.4.4\n"
+ "8.8.8.8\n"
+ "255.255.255.255\n"
+ "249.0.0.1\n"
+ "0.1.255.254\n"
+ "98.139.180.149\n"
+ "69.89.31.226\n\n\n"
+ "Invalid:\n"
+ "999.999.999\n"
+ "290.250.2.6\n"
+ "256.259.20.255\n\n\n"
+ "Texts:\n"
+ "Google DNS Server IP is 8.8.8.8. As a alternative you can use 8.8.4.4. \n"
+ "The IP 127.0.0.1 (also known as localhost) is a 'loopback' IP-Adress, pointing to your computer.\n\n\n"
+ "Example pinging:\n"
+ " Microsoft Windows [Version 6.1.7601]\n"
+ " Copyright (c) 2009 Microsoft Corporation. Alle Rechte vorbehalten.\n"
+ " \n"
+ " C:\\Users\\Example>ping google.com\n"
+ " \n"
+ " Pinging google.com [212.6.83.44] with 32 bytes of data:\n"
+ " Reply from 212.6.83.44: bytes=32 time=42ms TTL=59\n"
+ " Reply from 212.6.83.44: bytes=32 time=55ms TTL=59\n"
+ " Reply from 212.6.83.44: bytes=32 time=35ms TTL=59\n"
+ " Reply from 212.6.83.44: bytes=32 time=27ms TTL=59\n"
+ " \n"
+ " Ping statistics for 212.6.83.44:\n"
+ " Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),\n"
+ " Approximate round trip times in milli-seconds:\n"
+ " Minimum = 27ms, Maximum = 55ms, Average = 39ms\n"
+ " \n"
+ " C:\\Users\\Example>";
final Pattern pattern = Pattern.compile(regex);
final Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html