| 99 | } |
| 100 | |
| 101 | bool Utils::wildcardMultiMatch(const QString& wildcard, const QString& testString, bool bCaseSensitive) |
| 102 | { |
| 103 | static QHash<QString, QRegularExpression> s_patternMap; |
| 104 | |
| 105 | const QStringList regExpList = wildcard.split(QChar(';')); |
| 106 | |
| 107 | for(const QString& regExp : regExpList) |
| 108 | { |
| 109 | QHash<QString, QRegularExpression>::iterator patIt = s_patternMap.find(regExp); |
| 110 | if(patIt == s_patternMap.end()) |
| 111 | { |
| 112 | QRegularExpression pattern(QRegularExpression::wildcardToRegularExpression(regExp), bCaseSensitive ? QRegularExpression::NoPatternOption : QRegularExpression::CaseInsensitiveOption); |
| 113 | patIt = s_patternMap.insert(regExp, pattern); |
| 114 | } |
| 115 | |
| 116 | if(patIt.value().match(testString).hasMatch()) |
| 117 | return true; |
| 118 | } |
| 119 | |
| 120 | return false; |
| 121 | } |
| 122 | |
| 123 | //TODO: Only used by calcTokenPos. |
| 124 | bool Utils::isCTokenChar(QChar c) |