import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "<(script|style)((?:(?!src|nonce).)*?)>";
final String string = "<!DOCTYPE html>\n"
+ "<html class=\"no-js\" lang=\"en-US\">\n"
+ "<script>window._wpemojiSettings = {\"baseUrl\":\"https:\\/\\/s.w.org\\/images\\/core\\/emoji\\/13.0.0\\/72x72\\/\",\"ext\":\".png\",\"svgUrl\":\"https:\\/\\/s.w.org\\/images\\/core\\/emoji\\/13.0.0\\/svg\\/\",\"svgExt\":\".svg\",\"source\":{\"wpemoji\":\"https:\\/\\/localhost:32810\\/wp-includes\\/js\\/wp-emoji.js?ver=5.6-alpha-48683-src\",\"twemoji\":\"https:\\/\\/localhost:32810\\/wp-includes\\/js\\/twemoji.js?ver=5.6-alpha-48683-src\"}};\n"
+ "} );</script>\n"
+ "<style>img.emoji {padding: 0 !important;}</style>\n"
+ "<style id='twentytwenty-style-inline-css'>.color-accent{ color: #cd2653; }</style>\n"
+ "<script src='https://localhost:32810/wp-content/themes/twentytwenty/assets/js/index.js?ver=1.5' id='twentytwenty-js-js' async></script>\n"
+ "<script>document.documentElement.className = document.documentElement.className.replace( 'no-js', 'js' );</script>\n"
+ "<style>.recentcomments a{display:inline !important;padding:0 !important;margin:0 !important;}</style>\n"
+ "<style media=\"print\">#wpadminbar { display:none; }</style>\n"
+ "<style media=\"screen\">html { margin-top: 32px !important; }</style>\n"
+ "</head>\n"
+ "<body>\n"
+ "<script test>(function() {var request; b[c] = b[c].replace( rcs, ' ' );}());</script>\n"
+ "<script src='https://localhost:32810/wp-includes/js/hoverintent-js.min.js?ver=2.2.1' id='hoverintent-js-js'></script>\n"
+ "<script src='https://localhost:32810/wp-includes/js/admin-bar.js?ver=5.6-alpha-48683-src' id='admin-bar-js'></script>\n"
+ "<script src='https://localhost:32810/wp-includes/js/wp-embed.js?ver=5.6-alpha-48683-src' id='wp-embed-js'></script>\n"
+ "<script test>var t, e = location.hash.substring(1);</script>\n"
+ "</body>\n"
+ "</html>";
final String subst = "<$1 nonce=\"test\"$2>";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
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