import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^(\\w+(\\-\\w+)?)(\\s)([A-Z]\\.\\s)*(\\w+)(\\s\\w+)?\\,((\\(|1\\-|\\(1\\-)*\\d{3}(\\)(\\s)?|-|\\s|\\)\\-)?\\d{3}\\-*\\s?\\d{4})\\,(\\w+)(\\-\\w+\\-\\w+)?(\\s\\w+$)?";
final String string = "Kiayada D. Levy,(570)7924192,Sint-Laureins-Berchem\n"
+ "Gretchen F. Manning,(1-656)-285-0869,Spoleto\n"
+ "Ashton Richards,(974) 843-9297,Annapolis Royal\n"
+ "Demetrius J. Ferguson,1-906-206-4323,Rea\n"
+ "Blair Nelson,1-121-171-3665,Bertiolo\n"
+ "Cynthia J. Farley,632 691 2180,Moen\n"
+ "Nayda M. Lloyd,1-864-250-6977,Sarrev\n"
+ "Miranda Edith Sexton,1-597-689-8316,Shipshaw\n"
+ "Fulton Mays,(725)789-9517,Pierrefonds\n"
+ "Shea Kim,1-697-854-4139,Bihain\n"
+ "Emma-Mae Winters,1-137-630-5601,Gulfport\n"
+ "Inez W. Depew,1-833-470-5664,Johnstone\n"
+ "Darrel F. Key,1-878-918-2161,Olympia\n"
+ "Tobias L. Stephens,1-119-939-6704,Unnao\n"
+ "Elmo Pate,1-869-333-7341,Griesheim";
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