import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(In\\s(?P<lang>[^-]+))?(?(1)-|)((?P<home>.+)\\svs\\.\\s+(?P<away>.+)\\s+)\\((?P<league>[^\\)]+)";
final String string = "In Spanish-Vitesse vs. Feyenoord (Eredivisie)\n"
+ "Vitesse vs. Feyenoord (Eredivisie)\n"
+ "Hyderabad vs. Mumbai City FC (Indian Super League)\n"
+ "Kilmarnock vs. Aberdeen (Scottish Premier League)\n"
+ "In Spanish-ADO Den Haag vs. Ajax (Eredivisie)\n"
+ "ADO Den Haag vs. Ajax (Eredivisie)\n"
+ "Sassuolo vs. AC Milan (Serie A)\n"
+ "In Spanish-Sassuolo vs. AC Milan (Serie A)\n"
+ "Cagliari vs. Udinese (Serie A)\n"
+ "In Spanish-Inter vs. Spezia (Serie A)\n"
+ "Inter Milan vs. Spezia (Serie A)\n"
+ "Benevento vs. Genoa (Serie A)\n"
+ "Kerala Blasters FC vs. SC East Bengal (Indian Super League)\n"
+ "Celtic vs. Heart of Midlothian (Final) (Scottish Cup)\n"
+ "Sport-Club Freiburg vs. Hertha BSC (Bundesliga)\n"
+ "Abilene Christian vs. Stetson (W Basketball)\n"
+ "In Spanish-VfL Wolfsburg vs. VfB Stuttgart (Bundesliga)\n"
+ "VfL Wolfsburg vs. VfB Stuttgart (Bundesliga)\n"
+ "In Spanish-Atalanta vs. AS Roma (Serie A)\n"
+ "Atalanta vs. AS Roma (Serie A)\n"
+ "Kobenhaven vs. OB (Danish Superliga)\n"
+ "East Carolina vs. Cincinnati (W Basketball)\n"
+ "Delaware vs. George Washington (W Basketball)\n"
+ "Northern Kentucky vs. Purdue Fort Wayne (W Basketball)\n"
+ "Jackson State vs. Iowa State (M Basketball)\n"
+ "Cleveland State vs. IUPUI (W Basketball)\n"
+ "Western Carolina vs. Georgia State (W Basketball)\n"
+ "Robert Morris vs. Milwaukee (W Basketball)\n"
+ "Albany vs. UMBC (W Basketball)\n"
+ "SMU vs. Temple (W Basketball)\n"
+ "Appalachian State vs. East Tennessee State (W Basketball)\n"
+ "Binghamton vs. Stony Brook (W Basketball)\n"
+ "UMass Lowell vs. Vermont (W Basketball)\n"
+ "Alice Lloyd vs. UNC Greensboro (M Basketball)\n"
+ "UNC Asheville vs. High Point (W Basketball)\n"
+ "Ball State vs. Akron (W Basketball)\n"
+ "South Carolina State vs. Campbell (W Basketball)\n"
+ "Oakland vs. Wright State (W Basketball)\n"
+ "VCU vs. Richmond (W Basketball)\n"
+ "Lazio vs. Napoli (Serie A)\n"
+ "In Spanish-Lazio vs. Napoli (Serie A)\n"
+ "Freed-Hardeman (TN) vs. North Alabama (M Basketball)\n"
+ "Western Kentucky vs. Tennessee Tech (W Basketball)\n"
+ "Chicago State vs. Drake (M Basketball)\n"
+ "Martin Methodist vs. Troy (W Basketball)\n"
+ "Louisiana vs. Louisiana Tech (W Basketball)\n"
+ "Champion Christian vs. Arkansas State (M Basketball)\n"
+ "Alcorn State vs. Houston (M Basketball)\n"
+ "Oakland vs. UIC (M Basketball)\n"
+ "Detroit Mercy vs. UIC (W Basketball)\n"
+ "Western Illinois vs. UT Martin (M Basketball)\n"
+ "NJIT vs. Temple (M Basketball)\n"
+ "Lamar vs. Texas State (W Basketball)\n"
+ "Converse vs. Coastal Carolina (W Basketball)\n"
+ "Flagler vs. North Florida (M Basketball)\n"
+ "Southeastern Louisiana vs. Tulane (W Basketball)\n"
+ "Iona vs. Rider (M Basketball)\n"
+ "McNeese State vs. Louisiana (M Basketball)\n"
+ "Crowley's Ridge vs. Tennessee State (M Basketball)";
final Pattern pattern = Pattern.compile(regex);
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