Adjust URL RegEx to allow for domain names ending with a dot.
[quassel.git] / src / uisupport / clickable.cpp
index df2d3dc..0674d0e 100644 (file)
@@ -51,8 +51,8 @@ void Clickable::activate(NetworkId networkId, const QString &text) const {
 ClickableList ClickableList::fromString(const QString &str) {
   // For matching URLs
   static QString scheme("(?:(?:mailto:|(?:[+.-]?\\w)+://)|www(?=\\.\\S+\\.))");
-  static QString authority("(?:[,.;@:-]?\\w+)+(?::\\d+)?");
-  static QString urlChars("(?:[,.;:\\w~@/?&=+$()!%#*{}\\[\\]'^-])");
+  static QString authority("(?:(?:[,.;@:]?[-\\w]+)+\\.?|\\[[0-9a-f:.]+\\])(?::\\d+)?");
+  static QString urlChars("(?:[,.;:]*[\\w~@/?&=+$()!%#*{}\\[\\]\\|'^-])");
   static QString urlEnd("(?:>|[,.;:\"]*\\s|\\b|$)");
 
   static QRegExp regExp[] = {