diff --git a/src/de/schildbach/pte/BahnProvider.java b/src/de/schildbach/pte/BahnProvider.java index 02b648bd..fa6b6bb2 100644 --- a/src/de/schildbach/pte/BahnProvider.java +++ b/src/de/schildbach/pte/BahnProvider.java @@ -225,11 +225,12 @@ public final class BahnProvider implements NetworkProvider + "von: (.*?).*?" // from + "nach: (.*?).*?" // to + "Datum: .., (.*?).*?" // currentDate - + "(?:.*?Früher.*?)?" // linkEarlier - + "(?:.*?Später.*?)?" // linkLater + + "(?:.*?Früher.*?)?" // linkEarlier + + "(?:.*?Später.*?)?" // linkLater , Pattern.DOTALL); private static final Pattern P_CONNECTIONS_COARSE = Pattern.compile("(.+?)", Pattern.DOTALL); - private static final Pattern P_CONNECTIONS_FINE = Pattern.compile(".*?" // url + private static final Pattern P_CONNECTIONS_FINE = Pattern.compile(".*?" // + + "" // link + "(\\d+:\\d+)
(\\d+:\\d+)
.+?" // departureTime, arrivalTime + "(.*?)
.*?" // line , Pattern.DOTALL); diff --git a/src/de/schildbach/pte/RmvProvider.java b/src/de/schildbach/pte/RmvProvider.java index 10951b5d..b89b4d0e 100644 --- a/src/de/schildbach/pte/RmvProvider.java +++ b/src/de/schildbach/pte/RmvProvider.java @@ -222,16 +222,19 @@ public class RmvProvider implements NetworkProvider return queryConnections(uri, page); } - private static final Pattern P_CONNECTIONS_HEAD = Pattern.compile(".*" // - + "Von: (.*?).*?" // - + "Nach: (.*?).*?" // - + "Datum: .., (\\d+\\..\\d+\\.\\d+).*?" // - + "(?:Früher.*?)?" // - + "(?:Später.*?)?", Pattern.DOTALL); + private static final Pattern P_CONNECTIONS_HEAD = Pattern.compile(".*?" // + + "Von: (.*?).*?" // from + + "Nach: (.*?).*?" // to + + "Datum: .., (\\d+\\..\\d+\\.\\d+).*?" // currentDate + + "(?:(.+?)

", Pattern.DOTALL); - private static final Pattern P_CONNECTIONS_FINE = Pattern.compile(".*?
" // url + private static final Pattern P_CONNECTIONS_FINE = Pattern.compile(".*?" // + + "" // link + "(\\d+:\\d+)-(\\d+:\\d+)" // - + "(?: (.+?))?", Pattern.DOTALL); + + "(?: (.+?))?" // + , Pattern.DOTALL); private QueryConnectionsResult queryConnections(final String uri, final CharSequence page) throws IOException { diff --git a/src/de/schildbach/pte/SbbProvider.java b/src/de/schildbach/pte/SbbProvider.java index a0e484a5..f6fc0a8e 100644 --- a/src/de/schildbach/pte/SbbProvider.java +++ b/src/de/schildbach/pte/SbbProvider.java @@ -184,8 +184,8 @@ public class SbbProvider implements NetworkProvider + "Von:.*?(.*?).*?" // from + "Datum:.*?.., (\\d{2}\\.\\d{2}\\.\\d{2}).*?" // date + "Nach:.*?(.*?).*?" // to - + "(?:.*?)?" // linkEarlier - + "(?:.*?)?" // linkLater + + "(?:(.*?)\n?"// + "(.+?)", Pattern.DOTALL); diff --git a/src/de/schildbach/pte/VbbProvider.java b/src/de/schildbach/pte/VbbProvider.java index 5628b458..d4e1701c 100644 --- a/src/de/schildbach/pte/VbbProvider.java +++ b/src/de/schildbach/pte/VbbProvider.java @@ -272,13 +272,18 @@ public final class VbbProvider implements NetworkProvider return queryConnections(uri, page); } - private static final Pattern P_CONNECTIONS_HEAD = Pattern.compile( - ".*Von: (.*?).*?Nach: (.*?).*?Datum: .., (.*?)
.*?" - + "(?:
.*?)?" - + "(?:.*?)?", Pattern.DOTALL); + private static final Pattern P_CONNECTIONS_HEAD = Pattern.compile(".*?" // + + "Von: (.*?).*?" // from + + "Nach: (.*?).*?" // to + + "Datum: .., (.*?)
.*?" // currentDate + + "(?:
.*?)?" // linkEarlier + + "(?:.*?)?" // linkLater + , Pattern.DOTALL); private static final Pattern P_CONNECTIONS_COARSE = Pattern.compile("

(.+?)

", Pattern.DOTALL); - private static final Pattern P_CONNECTIONS_FINE = Pattern.compile(".*?
" - + "(\\d\\d:\\d\\d)-(\\d\\d:\\d\\d)  (?:\\d+ Umst\\.|([\\w\\d ]+)).*?", Pattern.DOTALL); + private static final Pattern P_CONNECTIONS_FINE = Pattern.compile(".*?" // + + "" // link + + "(\\d\\d:\\d\\d)-(\\d\\d:\\d\\d)  (?:\\d+ Umst\\.|([\\w\\d ]+)).*?" // + , Pattern.DOTALL); private QueryConnectionsResult queryConnections(final String uri, final CharSequence page) throws IOException { @@ -602,6 +607,8 @@ public final class VbbProvider implements NetworkProvider if (line.startsWith("RE") || line.startsWith("RB") || line.startsWith("NE") || line.startsWith("OE") || line.startsWith("MR") || line.startsWith("PE")) return "R" + line; + if (line.equals("11")) + return "?11"; if (P_NORMALIZE_LINE_SPECIAL_NUMBER.matcher(line).matches()) return "R" + line;