import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "/^(4\\d{3}\\s?\\d{4}\\s?\\d{4}\\s?\\d{0,4}|5[1-5]\\d{2}\\s?\\d{4}\\s?\\d{4}\\s?\\d{0,4}|2[2-7]\\d{2}\\s?\\d{4}\\s?\\d{4}\\s?\\d{0,4}|6[45]\\d{2}\\s?\\d{4}\\s?\\d{4}\\s?\\d{0,4}|3[47]\\d{2}\\s?\\d{6}\\s?\\d{5}|(62[4-6]|628[2-8]|6011|65061[1-9]|65060[1-9]|65[2-9]\\d{2}|64[4-9]|622(1(2[6-9]|[3-9]\\d)|[2-8]\\d{2}|9([01]\\d|2[0-5])))\\s?\\d{4}\\s?\\d{4}\\s?\\d{0,4}|(?:2131|1800|35\\d{2})\\s?\\d{4}\\s?\\d{4}\\s?\\d{4}|3(?:0[0-5]|[689]\\d)\\s?\\d{6}\\s?\\d{4})$/";
final String string = "376680816376961";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE | Pattern.CASE_INSENSITIVE | Pattern.DOTALL | Pattern.UNIX_LINES);
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