时间:2026-03-20 10:48
人气:
作者:admin
摘要:
这篇博客实现了在Qt环境中利用正则表达式匹配多个关键字的功能。
关键词:
Qt、正则表达式、搜索、分割、同时搜索、与、高级搜索、QRegularExpression
版本:Qt5.14.2
QString keywords = "sun-jiang"; // 假设输入是 - 分隔
QStringList list = keywords.split('-', Qt::SkipEmptyParts);
// 动态构建 lookahead 正则
QString lookahead;
for (const QString& kw : list) {
QString escaped = QRegularExpression::escape(kw.trimmed());
lookahead += "(?=.*" + escaped + ")";
}
QString pattern = "^" + lookahead + ".*$"; // 加 .*$ 确保整个字符串被“实际匹配”,避免某些引擎返回空匹配
QRegularExpression re(pattern, QRegularExpression::CaseInsensitiveOption);
// QSortFilterProxyModel *proxyModel = new QSortFilterProxyModel(this);
proxyModel->setFilterRegularExpression(re);
QRegularExpression,并在QSortFilterProxyModel中使用。作者:薄暮知秋
本文来自博客园,转载请注明原文链接:https://www.cnblogs.com/wsry/p/19742405
上一篇:Lambda表达式
下一篇:Qt表格入门(优化篇)