try { String mobile_number="india number +919979045000\n" + "india number 9979045000\n" + "china number +86 591 2123654\n" + "Brazil number +55 79 2012345\n" + "it is test all string get mobile number all country"+ "Ezipt +20 10 1234567\n" + "France +33 123456789\n" + "Hong Kong +852 1234 5456\n" + "Mexico +52 55 12345678"+ "thanks"; Pattern p = Pattern.compile("\\(?\\+[0-9]{1,3}\\)? ?-?[0-9]{1,3} ?-?[0-9]{3,5} ?-?[0-9]{5}( ?-?[0-9]{3})? ?(\\w{1,10}\\s?\\d{1,6})?"); List<String> numbers = new ArrayList<String>(); //mobile_number= mobile_number.replaceAll("\\-", ""); Matcher m = p.matcher("" + mobile_number); while (m.find()) { numbers.add(m.group()); } p = Pattern.compile("\\(?\\+[0-9]{1,3}\\)? ?-?[0-9]{1,3} ?-?[0-9]{3,5} ?-?[0-9]{4}( ?-?[0-9]{3})? ?(\\w{1,10}\\s?\\d{1,6})?"); m = p.matcher("" + mobile_number); while (m.find()) { numbers.add(m.group()); } p = Pattern.compile("((?:|\\+)([0-9]{5})(?: |\\-)(0\\d|\\([0-9]{5}\\)|[1-9]{0,5}))"); m = p.matcher("" + mobile_number); while (m.find()) { numbers.add(m.group()); } p = Pattern.compile("[0-9]{10}|\\(?\\+[0-9]{1,3}\\)?-?[0-9]{3,5} ?-?[0-9]{4}?"); m = p.matcher("" + mobile_number); while (m.find()) { numbers.add(m.group()); } String numberArray=numbers.toString(); System.out.print(""+numberArray); // final result /* [+919979045000, +86 591 2123654, +33 123456789, +52 55 12345678, +919979045000, +86 591 2123654, +55 79 2012345, +20 10 1234567, +33 123456789, +852 1234 5456, +52 55 12345678, +919979045000, 9979045000] */ } catch (Exception e) { e.printStackTrace(); }
source share