import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(?:[a-zA-Z\\s]*:)\\s*(.*)";
final String string = "Type : Requirement\n"
+ "State : Implemented\n"
+ "Release : 3.1.9 / 3.4.0 *1\n"
+ "The AFTN Message processing shall base on the following external documents:\n"
+ "[ICAO_1] ICAO Annex 10\n"
+ "[ICAO_2] ICAO Doc 4444\n"
+ "[ICAO_3] ICAO Doc 7030\n"
+ "[ICAO_4] ICAO Doc 4444 PANS ATM Amendment No1 *1\n\n\n"
+ "[EURO_1] ADEXP documentation\n"
+ "[EURO_2] IFPS user manual\n\n\n"
+ "[CFMU_1] CFMU_AIC 12.08\n"
+ "[CFMU_2] CFMU 2012 REQUIREMENTS V1.42 *1\n"
+ "[CFMU_3] CFMU INTERFACE MANUAL FOR ICAO 2012 V1.32 *1\n\n\n"
+ "[AIDA_1] ICD FPL AIDA AFPS v40\n\n\n"
+ "[FIXM_1] http://www.fixm.aero/content/fixm-core-releases (FIXM v1.1)\n\n\n"
+ "*1 Due to mutually contradictory between ICAO and CFMU requirements, the documents from CFMU has a higher priority.";
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