2012-09-07 86 views
1

我有一个QString,我用“”替换了“=”和“,”。现在我想编写一个正则表达式,它将删除每个出现的特定字符串,然后立即删除包含1到2个字符长度的括号。 例如: “垫(1)= 5,垫(2)= 4,垫(3)= 8” 将成为 “5 4 8”Qt从字符串中删除正则表达式

因此,这是我迄今为止:

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

正则表达式不正确,我该如何解决它以做我想做的事?谢谢!

回答

6

你需要逃避你的反斜杠的C++字符串字面量:

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

这并不为我工作。我拥有的原始反斜杠就是为了这个目的。你试过这个,它的工作? – user1216527

+0

刚刚意识到我错了!这确实起作用,我只需确保指出,在遇到MAT时不区分大小写。谢谢! – user1216527

相关问题