import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^127.0.0.1|168\\.192\\.([0-9]|[1-9][0-9]|1[0-1][0-9])\\.([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$";
final String string = "168.192.2.100\n"
+ "168.192.109.1\n"
+ "168.192.0.1\n"
+ "168.192.0.25\n"
+ "168.192.255.2\n"
+ "168.192.110.1\n"
+ "168.192.100.1\n"
+ "168.192.210.1\n"
+ "168.192.256.4\n"
+ "168.192.0.255\n"
+ "168.192.200.255\n"
+ "168.192.19.\n"
+ "168.192.34.10\n"
+ "168.192.100.10\n"
+ "168.192.51.200\n"
+ "168.192.81.9\n"
+ "168.192.111.133\n"
+ "168.192.112.133\n"
+ "168.192.111.256\n"
+ "168.192.111.216\n"
+ "168.192.111.236\n"
+ "168.192.110.1\n"
+ "168.192.111.100\n"
+ "168.192.110.200\n"
+ "168.192.110.300\n\n"
+ "168.192.110.1\n"
+ "168.192.110.1\n"
+ "168.192.1.9\n"
+ "168.192.100.0\n\n"
+ "268.\n"
+ "2.\n"
+ "168.1.\n"
+ "1.^168\\.192\\.([1-9]|[1-9][0-9]|[1-2][0-4][0-9]|25[0-5])\\.([1-9]|[1-9][0-9]|[1-2][0-4][0-9]|25[0-5])$";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
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