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;