qt - 我可以使用正则表达式从句子中提取两个单词吗?
问题描述
我想使用正则表达式从一个句子中提取两个单词:Mobile 和 Application。
只有当有两个单词时才应该提取它。
例如,
abcd Mobile defe 应用程序也是如此。
移动应用程序 asdbfdvdsc 也是如此。
应用 asdbdfbdfb Mobile 也是如此。
移动、应用不管顺序/无论两个单词之间有多少单词/我可以使用正则表达式从一个句子中提取两个单词吗?
解决方案
它应该是
(Mobile)(.*)(Application)|(Application)(.*)(Mobile)
使用QString.replace(const QRegularExpression &re, const QString &after)从文本中提取不需要的单词:
#include <QRegularExpression>
QString text =
"abcd Mobile defe Application is also true.\n
Mobile Application asdbfdvdsc is also true\n
Application asdbdfbdfb Mobile is also true.";
text.replace(QRegularExpression("(Mobile)(.*)(Application)|(Application)(.*)(Mobile)"), "\\2");
推荐阅读
- typescript - 重写现有的 websocket 以与 typescript 一起使用
- java - 如何找到好的解决方案或优化解决方案
- python - ImportError:没有名为端点的模块
- c - 如何找到给定一个正确的面具?
- java - 如何让 Eclipse 动态 Web 项目在弹性 beantalk 中工作
- c++ - 使用 qprocess 运行 .exe
- java - 如何在 Java/Kotlin 中获取 NumberFormat 的语言环境?
- python - 训练Mask RCNN但总是从所有提案中得到0个正边界框?
- javascript - Javascript 异步与 setTimeout(..., 0)
- c++ - 多个基类可以有相同的虚方法吗?