import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^[\\s]{0,2}\\[([\\d]*)\\]:";
final String string = "---\n"
+ " # Meta Data\n"
+ " Title: Test Set for Mark Down Reference Linking\n"
+ " Summary: Test Set for Mark Down Reference Linking\n"
+ " Author: Royi \n\n"
+ " # Settings\n"
+ " settings:\n"
+ " enable_uml: true\n"
+ " image_path_conversion: base64\n"
+ " markdown_extensions:\n"
+ " - markdown.extensions.footnotes\n"
+ " - markdown.extensions.fenced_code\n"
+ " - markdown.extensions.tables\n"
+ " - markdown.extensions.admonition\n"
+ " - markdown.extensions.toc:\n"
+ " title: Table of Contents\n"
+ " toc_depth: 2-3\n"
+ " - pymdownx.arithmatex:\n"
+ " generic: true\n"
+ " smart_dollar: false\n"
+ " allow_css_overrides: true\n"
+ "---\n\n\n"
+ "# Test Set for Mark Down Reference Linking\n\n"
+ "[TOC]\n\n"
+ "## Scope of the Document\n\n"
+ "Just some text as a test set.\n\n\n"
+ "### Some ASCII Graphics\n\n"
+ "Laser beam.\n\n"
+ "```\n"
+ " \n"
+ " Target \n"
+ " \n"
+ " +--------------------------------+ \n"
+ " | | \n"
+ " | | \n"
+ " | | \n"
+ " | | \n"
+ " | -- | \n"
+ " | -/ | \n"
+ " | --/ | \n"
+ " | -/ | \n"
+ " | --/ | \n"
+ " +--------------------------------+ \n"
+ " -/ \n"
+ " --/ \n"
+ " <-------------------/-----------------------> \n"
+ " --/ \n"
+ " -/ \n"
+ " --/ \n"
+ " +--------/ \n"
+ " | -/| \n"
+ " | -/ | \n"
+ " | | Laser Beam\n"
+ " +------+ \n"
+ "```\n\n"
+ "## Some List\n\n"
+ " * Train Set - Set used for training the ML model (For instance optimize the model parameters [For Parametric Model])\n"
+ " * Test Set - Set used to evaluate results.\n"
+ " * Prediction - Prediction of velocity given a measurement.\n\n"
+ "Implicit / Explicit Assumptions[^001]:\n\n"
+ " * The laser beam is eye safe.\n"
+ " * Just some information[^002].\n\n"
+ "### Some Existing Links\n\n"
+ "The results are pretty good in [RMSE][001] / [MAE][002].\n\n\n"
+ "## Some Text to Test\n\n"
+ "Free text, **bold text**, *italic text*, [__bold text__][003] or _italic text_.\n"
+ "Also, `Mono Spaced Text` and regular [boring text][04].\n\n"
+ "Some [Link](https://www.wikipedia.com) and [Reference Link][1].\n\n"
+ "Some list...\n\n"
+ " * Examining Deep Learning (DL) Based Methods \n"
+ " Always some text on [Deep][1] Learning.\n"
+ " * Hyper Parameters \n"
+ " Adding an exhaustive search of the optimal Hyper Parameters.\n\n\n"
+ " [001]: https://en.wikipedia.org/wiki/Root-mean-square_deviation \"Wikipedia - RMSE\"\n"
+ " [002]: https://en.wikipedia.org/wiki/Mean_absolute_error \"Wikipedia - MAE\"\n\n"
+ "[003]: https://something.com\n"
+ " [04]: https://somewhere.com\n\n"
+ " [5]: Should not be selected!\n"
+ " [6]: Should not be selected!\n\n\n"
+ " [^001]: Just a simple assumption reference.\n"
+ " [^002]: Just another simple assumption reference.\n\n\n\n\n"
+ "[1]: https://www.wikipedia.com";
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