import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "([0-9]{6}\\^[0-9]{4})\\^#departure time(local time)\n"
+ "([0-9]{6}\\^[0-9]{4})\\^#arrival time(local time)\n"
+ "(\\b[A-Z]{3}\\b)\\^.*?\\^(\\b[A-Z]{3}\\b)#dep and dst airports\n"
+ "\\^.*?\\^[A-Z0-9]{2}\\^([A-Z0-9]{2}\\^\\^[0-9]+)#flight number\n"
+ "\\^.*?#\n"
+ "\\^(.?)\\^\\^#flight class, ex. M=economy class";
final String string = "^^010914^1640^020914^0745^MIA^^FRA^1^LH^LH^^463^388^S^M^^LCA^Y^2^^020914^1230^020914^1320^FRA^1^BSL^^LH^CL^^1204^E90^S^M^^LCA^Y^^^^^^^^^^^^^^^^^^^^^1305^LX^3^^120914^1040^120914^1156^ZDH^^ZRH^^LX^LX^^7409^TRN^S^M^^LCA^Y^4^^120914^1320^120914^1745^ZRH^^MIA^^LX^LX^^64^333^S^M^^LCA^Y^^^^^^^^^^^^^^^^^^^^^";
final Pattern pattern = Pattern.compile(regex, Pattern.COMMENTS);
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