I think you should try something like this:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class PhoneNumberRegex {
public static void main(String[] args) {
System.out.println(validate("+82 12-2234-3344"));
System.out.println(validate("+82 13-1234-5678"));
System.out.println(validate("+82 11-3456-4567"));
System.out.println(validate("+82 31-3456-4567"));
System.out.println(validate("+82 31-34564-4567"));
}
private static boolean validate(String input) {
Pattern argPattern = Pattern.compile("\\+82 (12|13|11)(?:-\\d{4}){2}");
Matcher matcher = argPattern.matcher(input);
return matcher.matches();
}
}
When I run this, I get this output:
src : $ java PhoneNumberRegex
true
true
true
false
false