首页 > 解决方案 > 我可以使用正则表达式从句子中提取两个单词吗?

问题描述

我想使用正则表达式从一个句子中提取两个单词:Mobile 和 Application。

只有当有两个单词时才应该提取它。

例如,

abcd Mobile defe 应用程序也是如此。

移动应用程序 asdbfdvdsc 也是如此。

应用 asdbdfbdfb Mobile 也是如此。

移动、应用不管顺序/无论两个单词之间有多少单词/我可以使用正则表达式从一个句子中提取两个单词吗?

标签: qtqregularexpression

解决方案


它应该是

(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");

推荐阅读