import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "name=\\\"(?P<name>\\w+)\\\"\\>[\\w\\<\\/\\.\\>\\d:]+documentation\\>(?P<desc>[\\w\\s\\.]+)\\<\\/";
final String string = "<xs:element name=\"ProductDescription\"><xs:annotation><xs:documentation>Provides the description of the product</xs:documentation></xs:annotation><xs:complexType><xs:sequence><xs:element name=\"ProductName\"><xs:annotation><xs:documentation>Provides a name for the product. (see list)</xs:documentation></xs:annotation><xs:simpleType><xs:restriction base=\"xs:token\"><xs:enumeration value=\"Barbie Doll\"/><xs:enumeration value=\"Ken Doll\"/></xs:restriction></xs:simpleType></xs:element><xs:element name=\"ProductSize\"><xs:annotation><xs:documentation>Describes the size of the product. (see list)</xs:documentation></xs:annotation><xs:simpleType><xs:restriction base=\"xs:token\"><xs:enumeration value=\"Small\"/><xs:enumeration value=\"Medium\"/><xs:enumeration value=\"Large\"/><xs:enumeration value=\"Dayum\"/></xs:restriction></xs:simpleType></xs:element></xs:sequence></xs:complexType></xs:element>";
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