From 1143429887f61d8b3c74a4c3a1fafca632eb4b87 Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Thu, 25 May 2017 20:59:43 +0200 Subject: Filter code refactoring --- src/filter/regexp.cpp | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 src/filter/regexp.cpp (limited to 'src/filter/regexp.cpp') diff --git a/src/filter/regexp.cpp b/src/filter/regexp.cpp new file mode 100644 index 0000000..1f3c449 --- /dev/null +++ b/src/filter/regexp.cpp @@ -0,0 +1,72 @@ +/******************************************************************************* + ** + ** smolbote: yet another qute browser + ** Copyright (C) 2017 Xian Nox + ** + ** This program is free software: you can redistribute it and/or modify + ** it under the terms of the GNU General Public License as published by + ** the Free Software Foundation, either version 3 of the License, or + ** (at your option) any later version. + ** + ** This program is distributed in the hope that it will be useful, + ** but WITHOUT ANY WARRANTY; without even the implied warranty of + ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + ** GNU General Public License for more details. + ** + ** You should have received a copy of the GNU General Public License + ** along with this program. If not, see . + ** + ******************************************************************************/ + +#include "regexp.h" + +RegExp::RegExp(const QString &pattern, PatternOptions options) : + QRegularExpression() +{ + setPattern(pattern); + setPatternOptions(options); +} + +bool RegExp::hasMatch(const QString &subject, int offset, MatchType matchType, MatchOptions matchOptions) const +{ + // Empty matches all + if(pattern().isEmpty()) { + return true; + } + + return QRegularExpression::match(subject, offset, matchType, matchOptions).hasMatch(); +} + +void RegExp::setWildcardPattern(const QString &pattern) +{ + QString parsed; + + for(int i=0; i