import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "\\{tex\\b([^\\{\\}]*(\\{[^\\{\\}]*?([^\\{\\}]|(?R))*[^\\{\\}]*?\\}[^\\{\\}]*)*[^\\{\\}]*)\\}";
final String string = "# This is currently a test\n\n"
+ "{nav Home}\n\n"
+ "The statistical model estimated the probability, {tex f(x) = \\int_{-\\infty}\n"
+ "^\\infty \\hat f(\\xi)\\,e^{2 \\pi \\xi x} \\,d\\xi }, of capturing dolphins on a tow, {tex i}. A year effect, {tex \\lambda_{acb_{j}}} was estimated for each year, {tex j}, allowing for annual variation in the capture event rates that was unrelated to the covariates, {tex x}. The contribution of each covariate, indexed by {tex c}, was governed by a regression coefficient, {tex \\beta_c}, that was estimated by the model. The logit transform of the capture event probability was defined as the sum of the year effect, {tex \\lambda_{lam} {lam} }, and the covariates:\n"
+ "{tex \\lambda_{lam}{lam} }\n"
+ "{tex \\lambda_{lam} {lam} }\n"
+ "{tex \\lambda_{lam}{lam}}\n"
+ "katex {{{\n"
+ "logit(\\pi_i) = \\lambda_{j[i]} + \\sum_c \\beta_c x_{ic}.\n"
+ "}}}\n"
+ "determines the result.\n\n"
+ "# The following is more tests\n\n"
+ "katex {{{\n"
+ "f(x) = \\int_{-\\infty}^\\infty\n"
+ " \\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\n"
+ " \\,d\\xi \n"
+ "}}}\n\n"
+ "katex {{{\n"
+ "\\begin{bmatrix}\n"
+ " a & b \\\\\n"
+ " c & a \n"
+ " \\end{bmatrix}\n"
+ "}}}\n\n"
+ "katex {{{\n"
+ "\\begin{bmatrix}\n"
+ " a & c \\\\\n"
+ " c & a \n"
+ " \\end{bmatrix}\n"
+ "}}}\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