Qt从字符串中删除正则表达式

use*_*527 2 qstring qt qregexp

我有一个QString,我用""替换了"="和",".现在我想编写一个正则表达式,它将删除某个字符串的每次出现,紧接着是包含1到2个字符长数字的括号.例如:"mat(1)= 5,mat(2)= 4,mat(3)= 8"将变为"5 4 8"

所以这就是我到目前为止所做的:

text = text.replace("=", " "); 
text = text.replace(",", " "); 
text = text.remove( QRegExp( "mat\([0-9]{1,2}\)" ) );
Run Code Online (Sandbox Code Playgroud)

正则表达式不正确,我该如何修复它来做我想要的?谢谢!

Chr*_*ris 7

您需要转义C++字符串文字的反斜杠:

text = text.remove( QRegExp( "mat\\([0-9]{1,2}\\)" ) );
Run Code Online (Sandbox Code Playgroud)