import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^\\d*\\n(.*)\\n([^\\d].*|)";
final String string = "1\n"
+ "Mecca (مكة)\n"
+ "Trading hub and sanctuary in pre-Islamic Arabia; holy city to Muslims; current capital of Makkah Province, Saudi Arabia\n"
+ "2\n"
+ "Medina (المدينة)\n"
+ "Political seat of Muhammad, and first capital of the Rashidun Caliphate; current capital of Al Madinah Province, Saudi Arabia\n"
+ "3\n"
+ "Damascus (دمشق)\n"
+ "Capital of the Umayyad dynasty; current capital of Syria\n"
+ "4\n"
+ "Baghdad (بغداد)\n"
+ "Second capital of the Abbasid dynasty, and actual seat of Harun al-Rashid; current capital of Iraq\n"
+ "5\n"
+ "Najran (نجران)\n"
+ "Christian center in 5th-7th century Arabia; current capital of Najran Province, Saudi Arabia \n"
+ "6\n"
+ "Kufah (Ø§Ù„ÙƒÙˆÙØ©)\n"
+ "Second capital of the Rashidun Caliphate under Ali's rule; first capital of the Abbasid dynasty; city in modern-day Iraq\n"
+ "7\n"
+ "Basra (البصرة)\n"
+ "City in Iraq\n"
+ "8\n"
+ "Khurasan (خراسان)\n"
+ "Region corresponding to modern Afghanistan and northeast Iran\n"
+ "9\n"
+ "Anjar (عنجر)\n"
+ "City in Lebanon\n"
+ "10\n"
+ "Fustat (Ø§Ù„ÙØ³Ø·Ø§Ø·)\n"
+ "Old city of Cairo\n"
+ "11\n"
+ "Aden (عدن)\n"
+ "City in Yemen\n"
+ "12\n"
+ "Yamama (اليمامة)\n"
+ "Modern Najd region of Saudi Arabia\n"
+ "13\n"
+ "Muscat (مسقط)\n"
+ "Capital of Oman\n"
+ "14\n"
+ "Mansura (المنصورة)\n"
+ "City in Egypt\n"
+ "15\n"
+ "Bukhara (بخارى)\n"
+ "Modern day Buxoro, capital of Buxoro Province, Uzbekistan\n"
+ "16\n"
+ "Fez (ÙØ§Ø³)\n"
+ "Shared with Morocco, not buildable if they are in the game\n"
+ "17\n"
+ "Shiraz (شيراز)\n"
+ "Capital of FÄrs Province, Iran\n"
+ "18\n"
+ "Merw (ميرÙ)\n"
+ "Modern day Mary; capital of Mary Province, Turkmenistan\n"
+ "19\n"
+ "Balkh (بلخ)\n"
+ "City in Afghanistan\n"
+ "20\n"
+ "Mosul (الموصل)\n"
+ "City in Iraq\n"
+ "21\n"
+ "Aydab (؟؟؟؟؟)\n"
+ "22\n"
+ "Bayt Ras (؟؟؟؟؟؟)\n"
+ "23\n"
+ "Suhar (ØµØØ§Ø±)\n"
+ "City in Oman\n"
+ "24\n"
+ "Taif (طائÙ)\n"
+ "City in Saudi Arabia\n"
+ "25\n"
+ "Hama (ØÙ…اة)\n"
+ "Capital of HamÄh Governorate, Syria\n"
+ "26\n"
+ "Tabuk (تبوك)\n"
+ "Capital of Tabūk Province, Saudi Arabia\n"
+ "27\n"
+ "Sana'a (صنعاء)\n"
+ "Capital of Yemen\n"
+ "28\n"
+ "Shihr (Ø§Ù„Ø´ØØ±)\n"
+ "City in Yemen\n"
+ "29\n"
+ "Tripoli (طرابلس)\n"
+ "Capital of Libya\n"
+ "30\n"
+ "Tunis (تونس)\n"
+ "Capital of Tunisia\n"
+ "31\n"
+ "Kairouan (القيروان)\n"
+ "City in Tunisia\n"
+ "32\n"
+ "Algiers (الجزائر)\n"
+ "Capital of Algeria\n"
+ "33\n"
+ "Oran (وهران)\n"
+ "City in Algeria\n"
+ "34\n"
+ "Tangier (طنجة)\n"
+ "Shared with Morocco, not buildable if they are in the game\n"
+ "35\n"
+ "Casablanca (الدار البيضاء)\n"
+ "Shared with Morocco, not buildable if they are in the game\n"
+ "36\n"
+ "Marrakech (مراكش)\n"
+ "Shared with Morocco, not buildable if they are in the game";
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