import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "<span(?=\\s)(?=(?:[^>\"']|\"[^\"]*\"|'[^']*')*?\\sstyle\\s*=\\s*(?:(['\"])(?:(?!\\1)[\\S\\s])*?font-weight:700(?:(?!\\1)[\\S\\s])*\\1))\\s+(?:\"[\\S\\s]*?\"|'[\\S\\s]*?'|[^>]*?)+>([\\S\\s]*?)<\\/span\\s*>";
final String string = "<p><span style=\"color:#2c2c2c;font-weight:700;text-decoration:none;vertical-align:baseline;font-size:10.5pt;font-family:"Arial";font-style:normal\">Strong content</span></p><ul><li><span style=\"color:#2c2c2c;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:10.5pt;font-family:"Arial";font-style:normal\">list item</span></li><li><span style=\"color:#2c2c2c;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:10.5pt;font-family:"Arial";font-style:normal\">list item</span></li><li><span style=\"color:#2c2c2c;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:10.5pt;font-family:"Arial";font-style:normal\">list item</span></li><li><span style=\"color:#2c2c2c;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:10.5pt;font-family:"Arial";font-style:normal\">list item</span></li><li><span style=\"color:#2c2c2c;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:10.5pt;font-family:"Arial";font-style:normal\">list item</span></li><li><span style=\"color:#2c2c2c;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:10.5pt;font-family:"Arial";font-style:normal\">list item</span></li></ul><p><span style=\"color:#2c2c2c;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:10.5pt;font-family:"Arial";font-style:normal\">Content text</span></p><p><span style=\"color:#2c2c2c;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:10.5pt;font-family:"Arial";font-style:normal\">Content text</span></p><p><span style=\"color:#2c2c2c;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:10.5pt;font-family:"Arial";font-style:normal\">Content text</span></p><p><span style=\"font-size:10.5pt;color:#2c2c2c;font-weight:700\">Should be bold</span><span style=\"color:#2c2c2c;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:10.5pt;font-family:"Arial";font-style:normal\">: regular text</span></p><p><span style=\"font-size:10.5pt;color:#2c2c2c;font-weight:700\">Should be bold</span><span style=\"color:#2c2c2c;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:10.5pt;font-family:"Arial";font-style:normal\">: regular text </span></p><p><span style=\"font-size:10.5pt;color:#2c2c2c;font-weight:700\">Should be bold</span><span style=\"color:#2c2c2c;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:10.5pt;font-family:"Arial";font-style:normal\">: regular text</span></p>";
final String subst = "<strong>$2</strong>";
final Pattern pattern = Pattern.compile(regex);
final Matcher matcher = pattern.matcher(string);
// The substituted value will be contained in the result variable
final String result = matcher.replaceAll(subst);
System.out.println("Substitution result: " + result);
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html