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

时间:2012-09-07 17:00:27

标签: qt qstring 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}\)" ) );

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

1 个答案:

答案 0 :(得分:7)

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

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