import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(<svg .*?)(width=\".*?\").*?(?:height=\".*?\")(.*?>)";
final String string = "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"24\" xml:space=\"preserve\">\n"
+ " <path d=\"M13 5h-1V4h1M8 5H7V4h1m5.5-1.8L14.8.9c.2-.2.2-.5 0-.7-.2-.2-.5-.2-.7 0l-1.5 1.5c-.7-.5-1.7-.7-2.6-.7-1 0-1.9.2-2.7.6L5.8.1c-.1-.1-.5-.1-.6 0-.2.2-.2.5 0 .7l1.3 1.3C5 3.3 4 5 4 7h12c0-2-1-3.7-2.5-4.8m5 5.8c-.8 0-1.5.7-1.5 1.5v7c0 .8.7 1.5 1.5 1.5s1.5-.7 1.5-1.5v-7c0-.8-.7-1.5-1.5-1.5m-17 0C.7 8 0 8.7 0 9.5v7c0 .8.7 1.5 1.5 1.5S3 17.3 3 16.5v-7C3 8.7 2.3 8 1.5 8M4 18c0 .6.4 1 1 1h1v3.5c0 .8.7 1.5 1.5 1.5S9 23.3 9 22.5V19h2v3.5c0 .8.7 1.5 1.5 1.5s1.5-.7 1.5-1.5V19h1c.6 0 1-.4 1-1V8H4v10z\"/>\n"
+ "</svg>\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