import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "([^\\s=]+)=('?)(\"?)([^>\"']*)\\2\\3";
final String string = " style=\"width: 462px;\" src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAg4AAALoCAYAAAAQpn2mAAAABHNCSVQICAgIfAhkiAAAABl0RVh0U29mdHdhcmUAZ25vbWUtc2NyZWVuc2hvdO8Dv4AACAASURBVHic7L15fNTVufj/PjOTyWSyTfaEJBD2EJBNQFQEtFVRXMD7VQG1dfu2tLW92t77unaxam+t9nbTXze9tW61Vdqvgre9FXcqUHFBFiUEkX0PgSQkmf1zzu+Pzz6ZhBBwg3l4kZn5fM7yPM8553me85znnAMZyEAGMpCBDGQgAxnIQAYykIEMZCADGchABjKQgQxkIAMZyEAGMpCBDGQgAxnIQAYykIEMZCADGchABjKQgQxkIAMZyEAGMpCBDGQgAxnIQAYykIEMZCADGchABjKQgQxkIAMZyEAGMpCBDGQgAxnIQAYykIEMZCADGchABjKQgQxkIAMZyEAGMpCBDGQgAxnIQAqIiy66SDXM/SW7DyUQgEIBAiFAKTOZQn8p7N/OQhB6PgFCgUI43ull6mmwyhUolFWJMB=' data-filename=\"Screenshot from 2016-02-09 21:54:47.png\"\n\n\n"
+ "<tr><td><A HREF=\"brackets.html\" TARGET=\"_top\">Capturing group</A></td>\n"
+ " <td><TT>(regex)</TT></td>\n"
+ " <td>Parentheses group the regex between them. They capture the text matched by the regex inside them into a numbered group that can be reused with a numbered backreference. They allow you to apply regex operators to the entire grouped regex.</td>\n"
+ " <td><TT CLASS=code><SPAN CLASS=\"regexnest1\">(</SPAN><SPAN CLASS=\"regexplain\">abc</SPAN><SPAN CLASS=\"regexnest1\">)</SPAN><SPAN CLASS=\"regexspecial\">{3}</SPAN></TT> matches <TT CLASS=match>abcabcabc</TT>. First group matches <TT CLASS=match>abc</TT>.</td>\n"
+ "<td class=yes>YES</td><td class=yes>YES</td><td class=yes>YES</td><td class=yes>YES</td><td class=yes>YES</td><td class=yes>YES</td><td class=yes>YES</td><td class=yes>YES</td><td class=yes>YES</td><td class=yes>YES</td><td class=yes>YES</td><td class=yes>YES</td><td class=yes>YES</td><td class=yes>YES</td><td class=yes>ECMA<br>extended<br>egrep<br>awk</td><td class=yes>YES</td><td>no</td><td class=yes>YES</td><td>no</td><td class=yes>YES</td><td class=yes>YES</td><td class=yes>YES</td><td class=yes>YES</td></tr>\n\n"
+ "<tr><td><A HREF=\"brackets.html\" TARGET=\"_top\">Capturing group</A></td>\n"
+ " <td><TT>\\(regex\\)</TT></td>\n"
+ " <td>Escaped parentheses group the regex between them. They capture the text matched by the regex inside them into a numbered group that can be reused with a numbered backreference. They allow you to apply regex operators to the entire grouped regex.</td>\n"
+ " <td><TT CLASS=code><SPAN CLASS=\"regexnest1\">\\(</SPAN><SPAN CLASS=\"regexplain\">abc</SPAN><SPAN CLASS=\"regexnest1\">\\)</SPAN><SPAN CLASS=\"regexplain\">{3}</SPAN></TT> matches <TT CLASS=match>abcabcabc</TT>. First group matches <TT CLASS=match>abc</TT>.</td>\n"
+ "<td>no</td><td>no</td><td>no</td><td>no</td><td>no</td><td>no</td><td>no</td><td>no</td><td>no</td><td>no</td><td>no</td><td>no</td><td>no</td><td>no</td><td class=yes>basic<br>grep</td><td>no</td><td class=yes>YES</td><td>no</td><td class=yes>YES</td><td>no</td><td>no</td><td>no</td><td>no</td></tr>\n\n"
+ "<tr><td><A HREF=\"brackets.html\" TARGET=\"_top\">Non-capturing group</A></td>\n";
final Pattern pattern = Pattern.compile(regex);
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