shared: Introduce WildcardMatcher
This commit is contained in:
29
shared/wildcardmatcher.cpp
Normal file
29
shared/wildcardmatcher.cpp
Normal file
@@ -0,0 +1,29 @@
|
||||
#include "wildcardmatcher.h"
|
||||
|
||||
void WildcardMatcher::setPatterns(QStringList patterns)
|
||||
{
|
||||
this->regexes.clear();
|
||||
for(QString &str : patterns)
|
||||
{
|
||||
QRegExp regexp;
|
||||
regexp.setPattern(str);
|
||||
regexp.setPatternSyntax(QRegExp::WildcardUnix);
|
||||
this->regexes.append(regexp);
|
||||
}
|
||||
}
|
||||
|
||||
WildcardMatcher::WildcardMatcher()
|
||||
{
|
||||
}
|
||||
|
||||
bool WildcardMatcher::match(QString haystack) const
|
||||
{
|
||||
for(const QRegExp ®exp : this->regexes)
|
||||
{
|
||||
if(regexp.exactMatch(haystack))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
Reference in New Issue
Block a user