import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^(?!.*@media)[\\t ]*([a-zA-Z#.:*[][^\\{\\/]*\\s*)\\{[\\s\\S]*?\\}";
final String string = "a {color: red !important;}\n"
+ " \n"
+ "#p1 {\n"
+ " margin-top: 20px !important\n"
+ " }\n\n"
+ "/* Client-specific styles */\n\n"
+ " .ExternalClass, \n"
+ " .ExternalClass p, \n"
+ " .ExternalClass span, \n"
+ " .ExternalClass font, \n"
+ " .ExternalClass td, \n"
+ " .ExternalClass div {\n"
+ " line-height: 100%;\n"
+ " }\n"
+ " \n"
+ " a {}\n\n"
+ "@media query { \n"
+ "a { \n"
+ "display:none \n"
+ "} \n"
+ "}\n\n\n"
+ " a\n"
+ " { display:none } \n"
+ "}\n\n"
+ "/* Media query for mobile viewport\n"
+ " #asset_container * Developer: hero graphics should be 2 x width for HD rendering.\n"
+ " */ \n"
+ " @media only screen and (max-width: 480px){\n"
+ " table[class=max-width-pad] {\n"
+ " max-width: 100% !important;\n"
+ " width: 100% !important;\n"
+ " padding-top: 15px !important;\n"
+ " height: auto !important;\n"
+ " }\n"
+ " #asset_container table[class=max-width]{\n"
+ " max-width: 100% !important;\n"
+ " width: 100% !important;\n"
+ " height: auto !important;\n"
+ " }\n"
+ " #asset_container table[class=container]{\n"
+ " margin: 0 auto !important;\n"
+ " }\n"
+ " #asset_container .desktop-masthead{\n"
+ " display: none !important;\n"
+ " }\n"
+ " #asset_container *[class].hidden. *[class=desktop-masthead]{\n"
+ " display: none !important;\n"
+ " }\n"
+ " #asset_container *[class].elastic{\n"
+ " width: 100% !important;\n"
+ " height: auto !important;\n"
+ " }\n"
+ " #asset_container *[class].centered{\n"
+ " text-align: center !important;\n"
+ " }\n"
+ " #asset_container *[class].fluid, #asset_container [class=fluid-mob]{\n"
+ " width: 100% !important;\n"
+ " }\n"
+ " [class=fluid-mob] {\n"
+ " #asset_container position: relative;\n"
+ " }\n"
+ " .mobile-show{\n"
+ " display: table-cell !important;\n"
+ " width: auto !important;\n"
+ " height: auto !important;\n"
+ " max-height: none !important;\n"
+ " overflow: visible !important;\n"
+ " visibility: visible !important;\n"
+ " position: relative !important;\n"
+ " text-align: center !important;\n"
+ " }\n"
+ " #asset_container .show-mob{\n"
+ " display: block !important;\n"
+ " max-height: none !important;\n"
+ " width: auto !important;\n"
+ " visibility: visible !important;\n"
+ " }\n"
+ " #asset_container *[class].mob-masthead{\n"
+ " width: 100% !important;\n"
+ " display: block !important;\n"
+ " height: auto !important;\n"
+ " max-height: none !important;\n"
+ " padding: 0 !important;\n"
+ " }\n"
+ " #asset_container *[class].mob-masthead-img{\n"
+ " position: absolute !important;\n"
+ " top: 0px !important;\n"
+ " display: block !important;\n"
+ " height: auto !important;\n"
+ " max-height: none !important;\n"
+ " padding: 0 !important;\n"
+ " width: auto !important;\n"
+ " }\n"
+ " [class=fluid-mob] {\n"
+ " display: table-cell !important;\n"
+ " width: auto !important;\n"
+ " height: auto !important;\n"
+ " max-height: none !important;\n"
+ " overflow: visible !important;\n"
+ " visibility: visible !important;\n"
+ " position: relative !important;\n"
+ " text-align: center !important;\n"
+ " }\n"
+ " }\n";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
final Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}
}
}
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