import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^\\+[\\d]{1}+\\([\\d]{3}\\)+[\\d]{3}+\\-+[\\d]{4}$|^\\+[\\d]{1}+\\([\\d]{3}\\)+[\\d]{3}+\\s+[\\d]{4}$|^\\+[0-9]{1}+\\([0-9]{3}\\)+[0-9]{7}$|^\\+[0-9]{1}+\\([0-9]{3}\\)+[0-9]{3}+\\-+[0-9]{2}+\\-+[0-9]{2}$|^\\+[0-9]{1}+\\([0-9]{3}\\)+[0-9]{3}+\\s+[0-9]{2}+\\s+[0-9]{2}$|^\\+[0-9]{1}+\\s+[0-9]{3}+\\s+[0-9]{3}+\\s+[0-9]{2}+\\s+[0-9]{2}$|^\\+[0-9]{1}+\\s+[0-9]{3}+\\s+[0-9]{3}+\\-+[0-9]{2}+\\-+[0-9]{2}$|^\\++[0-9]{4}+\\s+[0-9]{7}$|^\\+[0-9]{1}+\\s+[0-9]{3}+\\s+[0-9]{3}+\\s+[0-9]{4}$|^\\+[0-9]{1}+\\s+[0-9]{3}+\\s+[0-9]{3}+\\-+[0-9]{4}$|^\\++[0-9]{11}$|^[0-9]{1}+\\([0-9]{3}\\)+[0-9]{7}$|^[0-9]{1}+\\([0-9]{3}\\)+[0-9]{3}+\\-+[0-9]{2}+\\-+[0-9]{2}$|^[0-9]{1}+\\([0-9]{3}\\)+[0-9]{3}+\\s[0-9]{2}+\\s+[0-9]{2}$|^\\([0-9]{3}\\)+[0-9]{7}$|^\\([0-9]{3}\\)+[0-9]{3}+\\-+[0-9]{2}+\\-+[0-9]{2}$|^\\([0-9]{3}\\)+[0-9]{3}+\\s+[0-9]{2}+\\s+[0-9]{2}$|^[0-9]{1}+\\s+[0-9]{3}+\\s+[0-9]{3}+\\s+[0-9]{2}+\\s+[0-9]{2}$|^[0-9]{1}+\\s+[0-9]{3}+\\s+[0-9]{3}+\\-+[0-9]{2}+\\-+[0-9]{2}$|^[0-9]{4}+\\s+[0-9]{7}$|^[0-9]{1}+\\s+[0-9]{3}+\\s+[0-9]{3}+\\s+[0-9]{4}$|^[0-9]{1}+\\s+[0-9]{3}+\\s+[0-9]{3}+\\-+[0-9]{4}$|^[\\d]{11}$|^[\\d]{10}$|^\\+[\\d]{1}+\\([\\d]{3}\\)+[\\d]{2}+\\s+[\\d]{3}+\\-+[\\d]{2}$|^\\+[\\d]{1}+\\([\\d]{3}\\)+[\\d]{2}+\\s+[\\d]{3}+\\s+[\\d]{2}$|^\\+[\\d]{1}+\\([\\d]{3}\\)+[\\d]{2}+\\s+[\\d]{5}$|^\\+[\\d]{6}+\\s+[\\d]{3}+\\-+[\\d]{2}$|^\\+[\\d]{6}+\\s+[\\d]{3}+\\s+[\\d]{2}$|^\\+[\\d]{6}+\\s+[\\d]{5}$|^\\+[\\d]{4}+\\s+[\\d]{2}+\\s+[\\d]{3}+\\s+[\\d]{2}$|^\\+[\\d]{4}+\\s+[\\d]{2}+\\s+[\\d]{3}+\\-+[\\d]{2}$|^\\+[\\d]{11}$|^[\\d]+\\([\\d]{3}\\)+[\\d]{2}+\\s+[\\d]{3}+\\-+[\\d]{2}$|^[\\d]+\\([\\d]{3}\\)+[\\d]{2}+\\s+[\\d]{3}+\\s+[\\d]{2}$|^[\\d]+\\([\\d]{3}\\)+[\\d]{2}+\\s+[\\d]{5}$|^[\\d]{6}+\\s+[\\d]{3}+\\-+[\\d]{2}$|^[\\d]{6}+\\s+[\\d]{3}+\\s+[\\d]{2}$|^[\\d]{6}+\\s+[\\d]{5}$|^[\\d]{4}+\\s+[\\d]{2}+\\s+[\\d]{3}+\\s+[\\d]{2}$|^[\\d]{4}+\\s+[\\d]{2}+\\s+[\\d]{3}+\\-+[\\d]{2}$|^[\\d]{3}+\\-+[\\d]{2}$|^[\\d]{5}$";
final String string = "+7(931)317 2764\n"
+ "+7(931)3172764\n"
+ "+7(931)317-27-64\n"
+ "+7(931)317 27 64\n"
+ "+7 931 317 27 64\n"
+ "+7 931 317-27-64\n"
+ "+7931 3172764\n"
+ "+7 931 317 2764\n"
+ "+7 931 317-2764\n"
+ "+79313172764\n"
+ "7(931)3172764\n"
+ "7(931)317-27-64\n"
+ "7(931)317 27 64\n"
+ "(931)3172764\n"
+ "(931)317-27-64\n"
+ "(931)317 27 64\n"
+ "7 931 317 27 64\n"
+ "7 931 317-27-64\n"
+ "7931 3172764\n"
+ "7 931 317 2764\n"
+ "7 931 317-2764\n"
+ "79313172764\n"
+ "9313172764";
final Pattern pattern = Pattern.compile(regex, Pattern.DOTALL | Pattern.CASE_INSENSITIVE | Pattern.MULTILINE | Pattern.UNICODE_CASE);
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