import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "<article(?: class=\"lead\")?><a href=\".*\" target=\"_top\"><img(?: height=\".*\")? src=\"(.*)\"(?: width=\".*\")? \\/><\\/a><h[1,2]><a href=\"(.*)\" target=\"_top\">(.*)<\\/a><\\/h[1,2]><small>By .*<\\/small><small>Updated: (.*) - (.*)<\\/small><div class=\"clear\"><\\/div><\\/article>";
final String string = "<section class=\"news\"><article class=\"lead\"><a href=\"/2016/04/15/what-are-the-10-most-intriguing-games-of-the-2016-nfl-season/a6ikhoo/\" target=\"_top\"><img src=\"/_internal/cimg!0/8p7xcgnjxaoqjj4iwxfv1qlid4ag0mm\" /></a><h1><a href=\"/2016/04/15/what-are-the-10-most-intriguing-games-of-the-2016-nfl-season/a6ikhoo/\" target=\"_top\">What are the 10 most intriguing games of the 2016 NFL season?</a></h1><small>By NATE ATKINS and ARTHUR ARKUSH</small><small>Updated: April 15, 2016 - 9:08 am</small><div class=\"clear\"></div></article><div class=\"clear\"></div></section><div class=\"bigbox ad\"></div><section class=\"news secondary\"><article><a href=\"/2016/04/08/green-bay-packers-cut-ilb-nate-palmer-10-game-starter-in-2015/afybdi5/\" target=\"_top\"><img height=\"225\" src=\"/_internal/cimg!0/pes2uiv39y78ld1yezq38oqcz3invi8\" width=\"400\" /></a><h2><a href=\"/2016/04/08/green-bay-packers-cut-ilb-nate-palmer-10-game-starter-in-2015/afybdi5/\" target=\"_top\">Green Bay Packers cut ILB Nate Palmer, 10-game starter in 2015</a></h2><small>By ARTHUR ARKUSH -- aarkush@profootballweekly.com</small><small>Updated: April 8, 2016 - 4:01 pm</small><div class=\"clear\"></div></article><article><a href=\"/2016/04/08/jacksonville-jaguars-aaron-colvin-and-green-bay-packers-demetri-goodson-suspended-4-games-each-for-peds/ahkwuh8/\" target=\"_top\"><img height=\"225\" src=\"/_internal/cimg!0/5jn3lvqyt16zr6tg7yqrhsavrr3eh45\" width=\"400\" /></a><h2><a href=\"/2016/04/08/jacksonville-jaguars-aaron-colvin-and-green-bay-packers-demetri-goodson-suspended-4-games-each-for-peds/ahkwuh8/\" target=\"_top\">Jacksonville Jaguars' Aaron Colvin and Green Bay Packers' Demetri Goodson suspended 4 games each for PEDs</a></h2><small>By ARTHUR ARKUSH -- aarkush@profootballweekly.com</small><small>Updated: April 8, 2016 - 3:23 pm</small><div class=\"clear\"></div></article></section>";
final Pattern pattern = Pattern.compile(regex, Pattern.UNICODE_CHARACTER_CLASS);
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