使用QRegularExpression选择第一个字符串

时间:2017-02-26 19:23:59

标签: string qt qregexp

如何使用QRegularExpression获取第一个字符串("firstStr"用于下面的示例)

QString readCmdOutput = "";
/* readCmdOutput = "firstStr\secondStr"; or 
readCmdOutput = "firstStr
secondStr
"
*/
readCmdOutput = QString::fromLocal8Bit(myProcess->readAllStandardOutput());  

QRegularExpression re("REGEXPRESSION");
QRegularExpressionMatch match = re.match(readCmdOutput);
if (match.hasMatch()) { 
   QString matched2 = match2.captured(0);  // has to contain "firstStr"
}

1 个答案:

答案 0 :(得分:1)

正确的正则表达式是:

QRegularExpression re("[^\\n\\\\]*");

此正则表达式匹配不包含换行符(\ n)或反斜杠(\)的每个字符序列。请注意,您必须转义所有反斜杠。 有关详细信息,请参阅QRegularExpression