From a975e15573def4c6503373506af0ab0d249452f0 Mon Sep 17 00:00:00 2001 From: Cranken Date: Mon, 31 Jul 2017 14:23:23 +0200 Subject: [PATCH] Fixed regex triggering on everything. (#87) --- src/messages/messagebuilder.cpp | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/messages/messagebuilder.cpp b/src/messages/messagebuilder.cpp index 845ace18..03df558c 100644 --- a/src/messages/messagebuilder.cpp +++ b/src/messages/messagebuilder.cpp @@ -10,7 +10,7 @@ MessageBuilder::MessageBuilder() : _words() { _parseTime = std::chrono::system_clock::now(); - regex.setPattern("(\\bhttps?:\/\/)?[-A-Z0-9+&@#\/%?=~_|!:,.;]*[A-Z0-9+&@#\/%=~_|]"); + regex.setPattern("[[:ascii:]]*\\.[A-Z]+"); regex.setPatternOptions(QRegularExpression::CaseInsensitiveOption); } @@ -59,14 +59,13 @@ void MessageBuilder::appendTimestamp(time_t time) QString MessageBuilder::matchLink(const QString &string) { - QString match = regex - .match(string, 0, QRegularExpression::PartialPreferCompleteMatch, - QRegularExpression::NoMatchOption) - .captured(); - if (!match.contains(QRegularExpression("\\bhttps?:\/\/"))) { - match.insert(0, "https://"); + auto match = regex.match(string); + QString captured = match.captured(); + + if (!captured.contains(QRegularExpression("\\bhttps?:\/\/")) && match.hasMatch()) { + captured.insert(0, "http://"); } - return match; + return captured; } } // namespace messages