import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^(?!15).*";
final String string = "13\n"
+ "13.1\n"
+ "13.1.1\n"
+ "13.1.2\n"
+ "13.1.2\n"
+ "13.1.3\n"
+ "13.2\n"
+ "13.2.1\n"
+ "13.2.2\n"
+ "13.2.3\n"
+ "13.3\n"
+ "13.3.1\n"
+ "13.4\n"
+ "13.4\n"
+ "13.4.1\n"
+ "13.4.1\n"
+ "13.5\n"
+ "13.5.1\n"
+ "13.6\n"
+ "13.6.1\n"
+ "13.7\n"
+ "14\n"
+ "14.0.1\n"
+ "14.1\n"
+ "14.2\n"
+ "14.2\n"
+ "14.2.1\n"
+ "14.3\n"
+ "14.4\n"
+ "14.4.1\n"
+ "14.4.2\n"
+ "14.5\n"
+ "14.5.1\n"
+ "14.6 Beta 3\n"
+ "14.6 RC\n"
+ "14.6 RC 2\n"
+ "14.6\n"
+ "14.7 Beta 1\n"
+ "14.7 Beta 2\n"
+ "14.7 Beta 3\n"
+ "14.7 Beta 4\n"
+ "14.7 Beta 5\n"
+ "14.7 RC\n"
+ "14.7\n"
+ "14.7.1\n"
+ "14.8\n"
+ "14.8.1\n"
+ "15.0 Beta 1\n"
+ "15.0 Beta 2\n"
+ "15.0 Beta 2\n"
+ "15.0 Beta 3\n"
+ "15.0 Beta 4\n"
+ "15.0 Beta 5\n"
+ "15.0 Beta 6\n"
+ "15.0 Beta 7\n"
+ "15.0 Beta 8\n"
+ "15.0 RC\n"
+ "15\n"
+ "15.1 Beta 1\n"
+ "15.1 Beta 2\n"
+ "15.0.1\n"
+ "15.1 Beta 3\n"
+ "15.0.2\n"
+ "15.1 Beta 4\n"
+ "15.1 RC 1\n"
+ "15.1 RC 2\n"
+ "15.1\n"
+ "15.2 Beta 1\n"
+ "15.2 Beta 2\n"
+ "15.2 Beta 3\n"
+ "15.1.1\n"
+ "15.2 Beta 4\n"
+ "15.2 RC\n"
+ "15.2 RC 2\n"
+ "15.2\n"
+ "15.3 Beta 1\n"
+ "15.2.1\n"
+ "15.3 Beta 2\n"
+ "15.3 RC\n"
+ "15.3\n"
+ "15.4 Beta 1\n"
+ "15.4 Beta 2\n"
+ "15.3.1\n"
+ "15.4 Beta 3\n"
+ "15.4 Beta 4\n"
+ "15.4 Beta 5\n"
+ "15.4 RC\n"
+ "15.4\n"
+ "15.4.1\n"
+ "15.5 Beta 1\n"
+ "15.5 Beta 2\n"
+ "15.5 Beta 3\n"
+ "15.5 Beta 4\n"
+ "15.5 RC\n"
+ "15.5\n"
+ "15.6 Beta 1\n"
+ "15.6 Beta 2\n"
+ "15.6 Beta 3\n"
+ "15.6 Beta 4\n"
+ "15.6 Beta 5\n"
+ "15.6 RC\n"
+ "15.6 RC 2\n"
+ "15.6\n"
+ "15.6.1\n"
+ "15.7 RC\n"
+ "15.7\n"
+ "15.7.1 RC\n"
+ "15.7.1\n"
+ "15.7.2 RC\n"
+ "16.0 Beta 1\n"
+ "16.0 Beta 2\n"
+ "16.0 Beta 3\n"
+ "16.0 Beta 3\n"
+ "16.0 Public Beta 1\n"
+ "16.0 Beta 4\n"
+ "16.0 Public Beta 2\n"
+ "16.0 Beta 5\n"
+ "16.0 Public Beta 3\n"
+ "16.0 Beta 6\n"
+ "16.0 Public Beta 4\n"
+ "16.0 Beta 7\n"
+ "16.0 Public Beta 5\n"
+ "16.0 Beta 8\n"
+ "16.0 Public Beta 6\n"
+ "16.0 RC\n"
+ "16\n"
+ "16.1 Beta 1\n"
+ "16.0.1\n"
+ "16.1 Public Beta 1\n"
+ "16.1 Beta 2\n"
+ "16.1 Public Beta 2\n"
+ "16.0.2\n"
+ "16.1 Beta 3\n"
+ "16.1 Public Beta 3\n"
+ "16.1 Beta 4\n"
+ "16.1 Public Beta 4\n"
+ "16.0.3\n"
+ "16.1 Beta 5\n"
+ "16.1 Public Beta 5\n"
+ "16.1 RC\n"
+ "16.1\n"
+ "16.2 Beta 1\n"
+ "16.2 Public Beta 1\n"
+ "16.2 Beta 2\n"
+ "16.1.1\n"
+ "16.2 Public Beta 2\n"
+ "16.2 Beta 3\n"
+ "16.2 Public Beta 3\n"
+ "16.2 (a)\n"
+ "16.2 (b)\n"
+ "16.1.2\n"
+ "16.2 Beta 4\n"
+ "16.2 RC";
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