Qt remove regular expression from string

user1216527 picture user1216527 · Sep 7, 2012 · Viewed 10.3k times · Source

I have a QString that I have replaced "=" and"," with " ". Now I would like to write a regular expression that would remove every occurrence of a certain string followed immediately by parenthesis containing a 1 to 2 character long number. For Example: "mat(1) = 5, mat(2) = 4, mat(3) = 8" would become "5 4 8"

So this is what I have so far:

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

The regular expression is not correct, how can I fix it to do what i want? Thanks!

Answer

Chris picture Chris · Sep 7, 2012

You need to escape your backslashes for C++ string literals:

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