import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(?P<AUC>AUC)|(?P<Cmax>C<sub>max<\\/sub>)|(?P<Tmax>T<sub>max<\\/sub>)|(?P<dose>\\d+\\s*[a-zA-Zμ]*g(?!(?:[^\\s\\.]|\\.\\S)))|(?P<dose_normalized>\\d+\\s*[a-zA-Zμ]*g\\/[a-zA-Zμ]*g(?!(?:[^\\s\\.]|\\.\\S)))";
final String string = "The median T<sub>max</sub> of asciminib following oral administration is 2.5 hours.[L38995] At a dose of 80mg once daily, the steady-state C<sub>max</sub> and AUC<sub>tau</sub> were 1781 ng/mL and 15112 ng.h/mL, respectively. At a dose of 40mg twice daily, the steady-state C<sub>max</sub> and AUC<sub>tau</sub> were 793 ng/mL and 5262 ng.h/mL, respectively. At a dose of 200mg twice daily (for treatment of T315I mutants), the steady-state C<sub>max</sub> and AUC<sub>tau</sub> were 5642 ng/mL and 37547 ng.h/mL, respectively.[L38995]\n\n"
+ "As compared to the fasted state, the co-administration of asciminib with a high-fat meal decreased the AUC and C<sub>max</sub> by 62% and 68%, respectively, and its co-administration with a low-fat meal decreased the AUC and C<sub>max</sub> by 30% and 35%, respectively.[L38995]";
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