Replace QRegExp with QRegularExpression (#2945)

This commit is contained in:
Paweł 2021-07-04 13:02:12 +02:00 committed by GitHub
parent 670ad90242
commit 3b0d62f5c5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 10 deletions

View file

@ -133,11 +133,11 @@ void Args::applyCustomChannelLayout(const QString &argValue)
QString platform = "t";
QString channelName = channelArg;
const QRegExp regExp("(.):(.*)");
if (regExp.indexIn(channelArg) != -1)
const QRegularExpression regExp("(.):(.*)");
if (auto match = regExp.match(channelArg); match.hasMatch())
{
platform = regExp.cap(1);
channelName = regExp.cap(2);
platform = match.captured(1);
channelName = match.captured(2);
}
// Twitch (default)
@ -147,7 +147,7 @@ void Args::applyCustomChannelLayout(const QString &argValue)
// Set first tab as selected
tab.selected_ = window.tabs_.empty();
tab.rootNode_ = SplitNodeDescriptor{"twitch", channelName};
tab.rootNode_ = SplitNodeDescriptor{{"twitch", channelName}};
window.tabs_.emplace_back(std::move(tab));
}

View file

@ -105,12 +105,15 @@ QString getJSONValue(QJsonValue responseJson, QString jsonPattern)
QString getLinkFromResponse(NetworkResult response, QString pattern)
{
QRegExp regExp("\\{(.+)\\}");
regExp.setMinimal(true);
while (regExp.indexIn(pattern) != -1)
QRegularExpression regExp("{(.+)}",
QRegularExpression::InvertedGreedinessOption);
auto match = regExp.match(pattern);
while (match.hasMatch())
{
pattern.replace(regExp.cap(0),
getJSONValue(response.parseJson(), regExp.cap(1)));
pattern.replace(match.captured(0),
getJSONValue(response.parseJson(), match.captured(1)));
match = regExp.match(pattern);
}
return pattern;
}