diff --git a/src/de/schildbach/pte/AbstractEfaProvider.java b/src/de/schildbach/pte/AbstractEfaProvider.java index f4db2b5d..4b421989 100644 --- a/src/de/schildbach/pte/AbstractEfaProvider.java +++ b/src/de/schildbach/pte/AbstractEfaProvider.java @@ -891,6 +891,7 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider { private static final Pattern P_LINE_RE = Pattern.compile("RE ?\\d+[ab]?"); private static final Pattern P_LINE_RB = Pattern.compile("RB ?\\d+[ab]?"); private static final Pattern P_LINE_R = Pattern.compile("R ?\\d+"); + private static final Pattern P_LINE_MEX = Pattern.compile("MEX\\d+[abc]?"); private static final Pattern P_LINE_S = Pattern.compile("S ?\\d+"); private static final Pattern P_LINE_S_DB = Pattern.compile("(S\\d+) \\((?:DB Regio AG)\\)"); private static final Pattern P_LINE_NUMBER = Pattern.compile("\\d+"); @@ -1324,6 +1325,8 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider { return new Line(id, network, Product.REGIONAL_TRAIN, "DNA"); if (("SAB".equals(trainType) || "Schwäbische Alb-Bahn".equals(trainName)) && trainNum != null) return new Line(id, network, Product.REGIONAL_TRAIN, "SAB" + trainNum); + if (trainType == null && trainNum != null && P_LINE_MEX.matcher(trainNum).matches()) // Metropolexpress + return new Line(id, network, Product.REGIONAL_TRAIN, trainNum); if (("BSB".equals(trainType) || "Breisgau-S-Bahn Gmbh".equals(trainName)) && trainNum != null) return new Line(id, network, Product.REGIONAL_TRAIN, "BSB" + trainNum);