2

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!

user1216527
  • 145
  • 1
  • 1
  • 11

1 Answers1

7

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

text = text.remove( QRegExp( "mat\\([0-9]{1,2}\\)" ) );
Chris
  • 17,119
  • 5
  • 57
  • 60
  • this does not work for me. the original backslashes I have are for that purpose. Did you try this and it worked? – user1216527 Sep 07 '12 at 18:35
  • Just realized I was wrong! This did work, I just had to make sure to specify that it was not case insensitive to catch MAT at well. THANKS! – user1216527 Sep 07 '12 at 18:43