import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "<div\\sid=\\\"[\\s\\S]*?dp_productDescription_container_div[\\s\\S]*?<div\\sid=\\\"productDescription_feature_div[\\s\\S]*?<div[\\s\\S]*?<div[\\s\\S]*?<div\\sid=\\\"productDescription[\\s\\S]*?>([\\s\\S]*?<p>[\\s\\S]*?<\\/p>\\s*)<\\/div>";
final String string = "<div id=\"dp_productDescription_container_div\" class=\"feature\" data-feature-name=\"productDescription\" data-cel-widget=\"dp_productDescription_container_div\">\n"
+ " \n"
+ " \n\n\n\n\n"
+ " \n\n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n\n\n\n"
+ " \n"
+ " <div id=\"productDescription_feature_div\" data-feature-name=\"productDescription\" data-template-name=\"productDescription\" class=\"a-row feature\" data-cel-widget=\"productDescription_feature_div\">\n"
+ " \n"
+ " \n"
+ " \n"
+ " <div class=\"a-divider a-divider-section\"><div class=\"a-divider-inner\"></div></div>\n"
+ " \n"
+ " \n"
+ " <h2 class=\"softlines\">\n"
+ " Product description\n"
+ " \n"
+ " </h2>\n"
+ " \n"
+ " \n"
+ " \n\n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n\n\n\n\n\n"
+ " <div id=\"productDescription\" class=\"a-section a-spacing-small\">\n"
+ " \n\n\n\n\n\n"
+ " \n"
+ " \n"
+ " \n\n\n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n\n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " <!-- show up to 2 reviews by default --> \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " <p>Train better. Look great. The Vazee agility trainer supports your interval workouts with an exciting blend of fashionable colors and a newly designed performance lace mesh upper for support and breathability.\n"
+ " \n"
+ " </p>\n"
+ " \n"
+ " \n"
+ " <p>Train better. Look great. The Vazee agility trainer supports your interval workouts with an exciting blend of fashionable colors and a newly designed performance lace mesh upper for support and breathability.\n"
+ " \n"
+ " </p> \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " </div>\n\n"
+ " \n"
+ " <style type=\"text/css\">\n"
+ "#productDescription {\n"
+ " color: #333333;\n"
+ " word-wrap: break-word;\n"
+ " font-size: small;\n"
+ " line-height: initial;\n"
+ " margin: 0.5em 0px 0em 25px;\n"
+ "}\n\n"
+ "#productDescription_feature_div > h2.default {\n"
+ " color: #CC6600;\n"
+ " font-size: medium;\n"
+ " margin: 0 0 0.25em;\n"
+ "}\n\n"
+ "#productDescription_feature_div > h2.books {\n"
+ " color:#333 !important;\n"
+ " font-size:21px !important;\n"
+ " line-height: 1.3;\n"
+ " padding-bottom: 4px;\n"
+ " font-weight: normal;\n"
+ " margin: 0px;\n"
+ "}\n\n"
+ "#productDescription_feature_div > h2.softlines {\n"
+ " color:#333 !important; \n"
+ " font-size:21px !important;\n"
+ " line-height: 1.3;\n"
+ " padding-bottom: 4px;\n"
+ " font-weight: bold;\n"
+ " margin: 0px;\n"
+ "}\n"
+ "#productDescription > p, #productDescription > div, #productDescription > table {\n"
+ " margin: 0 0 1em 0;\n"
+ "}\n\n"
+ "#productDescription p {\n"
+ " margin: 0em 0 1em 1em;\n"
+ "}\n\n"
+ "#productDescription h3 {\n"
+ " font-weight: normal;\n"
+ " color: #333333;\n"
+ " font-size: 1.23em;\n"
+ " clear: left;\n"
+ " margin: 0.75em 0px 0.375em -15px;\n"
+ "}\n\n"
+ "#productDescription table {\n"
+ " border-collapse: inherit !important;\n"
+ " margin-bottom: 0;\n"
+ "}\n\n"
+ "#productDescription table img {\n"
+ " max-width: inherit !important;\n"
+ "}\n\n"
+ "#productDescription table td {\n"
+ " font-size: small;\n"
+ " vertical-align: inherit !important;\n"
+ "}\n\n"
+ "#productDescription ul li {\n"
+ " margin: 0 0 0 20px;\n"
+ "}\n\n"
+ "#productDescription ul li ul {\n"
+ " list-style-type: disc !important;\n"
+ " margin-left: 20px !important;\n"
+ "}\n\n"
+ "#productDescription ul ul li {\n"
+ " list-style-type: disc !important;\n"
+ " margin-left: 20px !important;\n"
+ "}\n\n"
+ "#productDescription > ul ul li {\n"
+ " list-style-type: disc !important;\n"
+ "} \n\n\n"
+ "#productDescription ul li ul li {\n"
+ " margin: 0 0 0 20px;\n"
+ "}\n\n"
+ "#productDescription .aplus p {\n"
+ " margin: 0 0 1em 0;\n"
+ "}\n\n"
+ "#productDescription small {\n"
+ " font-size: smaller;\n"
+ "}\n\n"
+ "#productDescription.prodDescWidth {\n"
+ " max-width: 1000px\n"
+ "}\n\n"
+ "</style>\n\n"
+ "<!-- Used to set table width because AUI is overriding the width attribute of the tables coming in description -->\n"
+ "<script type=\"text/javascript\">\n"
+ "P.when('jQuery').execute(function($){\n"
+ " $(\"#productDescription table\").each(function() {\n"
+ " var width = $(this).attr('width');\n"
+ " if (width) width += 'px';\n"
+ " else width = 'auto';\n"
+ " $(this).css('width', width);\n\n"
+ " var padding = $(this).attr('cellpadding');\n"
+ " if (padding) padding += 'px';\n"
+ " else padding = '0px';\n"
+ " $(this).css('padding', padding);\n"
+ " });\n"
+ "});\n"
+ "</script>\n\n"
+ " \n\n\n\n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " </div>\n\n\n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n\n"
+ " \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"
+ " </div>";
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