diff --git a/src/de/schildbach/pte/RmvProvider.java b/src/de/schildbach/pte/RmvProvider.java index 5d362dfb..4aca3e43 100644 --- a/src/de/schildbach/pte/RmvProvider.java +++ b/src/de/schildbach/pte/RmvProvider.java @@ -186,7 +186,7 @@ public class RmvProvider extends AbstractHafasProvider private static final Pattern P_PRE_ADDRESS = Pattern.compile("(?:Geben Sie einen (Startort|Zielort) an.*?)?Bitte wählen Sie aus der Liste", Pattern.DOTALL); private static final Pattern P_ADDRESSES = Pattern.compile( - ".*?\\s*(.*?)\\s*.*?", Pattern.DOTALL); + ".*?\\s*(.*?)\\s*.*?", Pattern.DOTALL); private static final Pattern P_CHECK_CONNECTIONS_ERROR = Pattern.compile( "(mehrfach vorhanden oder identisch)|(keine geeigneten Haltestellen)|(keine Verbindung gefunden)|(derzeit nur Auskünfte vom)", Pattern.CASE_INSENSITIVE); @@ -254,7 +254,7 @@ public class RmvProvider extends AbstractHafasProvider , Pattern.DOTALL); private static final Pattern P_CONNECTIONS_COARSE = Pattern.compile("
(.+?)
", Pattern.DOTALL); private static final Pattern P_CONNECTIONS_FINE = Pattern.compile(".*?" // - + "" // link + + "" // link + "(\\d+:\\d+)-(\\d+:\\d+)" // departureTime, arrivalTime + "(?: (.+?))?" // line , Pattern.DOTALL); @@ -287,7 +287,7 @@ public class RmvProvider extends AbstractHafasProvider final Matcher mConFine = P_CONNECTIONS_FINE.matcher(mConCoarse.group(1)); if (mConFine.matches()) { - final String link = ParserUtils.resolveEntities(mConFine.group(1)); + final String link = "http://www.rmv.de" + ParserUtils.resolveEntities(mConFine.group(1)); final Calendar departureTime = new GregorianCalendar(timeZone()); departureTime.setTimeInMillis(currentDate.getTimeInMillis()); ParserUtils.parseEuropeanTime(departureTime, mConFine.group(2)); @@ -330,7 +330,7 @@ public class RmvProvider extends AbstractHafasProvider , Pattern.DOTALL); private static final Pattern P_CONNECTION_DETAILS_COARSE = Pattern.compile("/b> -\n(.*?- [^<]*)<", Pattern.DOTALL); private static final Pattern P_CONNECTION_DETAILS_FINE = Pattern.compile("