m_lastPathElementPathPattern = Pattern.compile("^[^\\?;#]*/([^\\?;#]*)");
m_lastPathElementPathPattern = Pattern.compile("^[^\\?#]*/([^\\?;#]*)");
  public RegularExpressionsImplementation() {    // We're generally flexible about SP and CRLF, see RFC 2616, 19.3.    // From RFC 2616:    //    // Request-Line = Method SP Request-URI SP HTTP-Version CRLF    // HTTP-Version = "HTTP" "/" 1*DIGIT "." 1*DIGIT    // http_URL = "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]]    //    m_requestLinePattern = Pattern.compile(      "^([A-Z]+)[ \\t]+" +          // Method.      "(?:https?://[^/]+)?"  +      // Ignore scheme, host, port.      "(.+)" +                      // Path, query string, fragment.      "[ \\t]+HTTP/\\d.\\d[ \\t]*\\r?\\n",      Pattern.MULTILINE | Pattern.UNIX_LINES);    // RFC 2616, 6.1:    //    // Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF    m_responseLinePattern = Pattern.compile(      "^HTTP/\\d.\\d[ \\t]+" +      "(\\d+)" +                   // Status-Code      "[ \\t]+" +      "(.*)" +                     // Reason-Phrase      "[ \\t]*\\r?\\n");    m_messageBodyPattern = Pattern.compile("\\r\\n\\r\\n(.*)", Pattern.DOTALL);    m_headerPattern = Pattern.compile(      "^([^:\\r\\n]*)[ \\t]*:[ \\t]*(.*?)\\r?\\n",      Pattern.MULTILINE | Pattern.UNIX_LINES);    m_basicAuthorizationHeaderPattern = Pattern.compile(      "^Authorization[ \\t]*:[ \\t]*Basic[  \\t]*([a-zA-Z0-9+/]*=*).*?\\r?\\n",      Pattern.MULTILINE | Pattern.UNIX_LINES);    // Ignore maximum amount of stuff that's not a '?', ';', or '#' followed by    // a '/', then grab the next until the first '?', ';', or '#'.    m_lastPathElementPathPattern = Pattern.compile("^[^\\?;#]*/([^\\?;#]*)");  }