AbstractEfaProvider: Match more 'IRE' lines.

This commit is contained in:
Andreas Schildbach 2020-12-20 16:23:43 +01:00
parent 310dc1fd6a
commit 4716531e98

View file

@ -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_IRE = Pattern.compile("IRE\\d+[ab]?");
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)\\)");
@ -1017,12 +1018,8 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider {
return new Line(id, network, Product.REGIONAL_TRAIN, trainNum);
if ("IRE".equals(trainType) || "Interregio-Express".equals(trainName))
return new Line(id, network, Product.REGIONAL_TRAIN, "IRE" + trainNum);
if ("IRE1".equals(trainNum) && trainName == null)
if (trainType == null && trainNum != null && P_LINE_IRE.matcher(trainNum).matches())
return new Line(id, network, Product.REGIONAL_TRAIN, trainNum);
if ("IRE6".equals(trainNum) && trainName == null)
return new Line(id, network, Product.REGIONAL_TRAIN, trainNum);
if ("InterRegioExpress".equals(trainName))
return new Line(id, network, Product.REGIONAL_TRAIN, "IRE" + trainNumStr);
if ("RE".equals(trainType) || "Regional-Express".equals(trainName))
return new Line(id, network, Product.REGIONAL_TRAIN, "RE" + trainNum);
if (trainType == null && trainNum != null && P_LINE_RE.matcher(trainNum).matches())