I have an e-mail processing class which takes the HTML content of e-mails, and stores them in rich text fields to be later rendered as PDF's to be printed via VisualForce.
However, the e-mails include some CSS at the start, for example: 'p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px \'Times New Roman\'; color: #000000; -webkit-text-stroke: #000000} p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px \'Times New Roman\'; color: #000000; -webkit-text-stroke: #000000; min-height: 15.0px} span.s1 {font-kerning: none}'
I am trying to remove this. However, I am having trouble with the parts within curly brackets. When I try to use a regEx to remove curly brackets and all text contained within them, I do this
String regEx = '\{.*\}';
Email.htmlContent.replaceAll(regEx, '');
It doesn't even make it to the second line. The first throws the error:
Illegal string literal: Invalid string literal '\{*\}'. Illegal character sequence \{' in string literal.
I've confirmed that the regular expression itself should work here: https://regexr.com/3h5ll
Does anyone know how to write a regular expression for Salesforce that will identify curly brackets and the text between them?