Comment:
# part in brackets:
Non-Capturing Group(?:\!\[\]|\[(?P<label>[^\]]+)\]) \!the literal ! (3310 / 418 / 2116)
\[the literal [ (9110 / 1338 / 5B16)
\]the literal ] (9310 / 1358 / 5D16)
2nd Alternative\[(?P<label>[^\]]+)\] \[the literal [ (9110 / 1338 / 5B16)
Group label(?P<label>[^\]]+) Negated Character Class[^\]]+ +matches at least one character outside the set below:
\]the literal ] (9310 / 1358 / 5D16)
\]the literal ] (9310 / 1358 / 5D16)
Comment:
# part in parentheses:
\(the literal ( (4010 / 508 / 2816)
Comment:
# link:
Group link(?P<link>(?P<filepath>(?!/)[^)]+\.(?:(?#
# from https://help.obsidian.md/Advanced+topics/Accepted+file+formats:
)md|png|jpg|jpeg|gif|bmp|svg|mp3|webm|wav|m4a|ogg|3gp|flac|mp4|webm|ogv|mov|mkv|pdf))(?#
# rest:
)(?P<fragment>(?:\#[^)]*?)*)) Group filepath(?P<filepath>(?!/)[^)]+\.(?:(?#
# from https://help.obsidian.md/Advanced+topics/Accepted+file+formats:
)md|png|jpg|jpeg|gif|bmp|svg|mp3|webm|wav|m4a|ogg|3gp|flac|mp4|webm|ogv|mov|mkv|pdf)) /the literal / (4710 / 578 / 2F16)
Negated Character Class[^)]+ +matches at least one character outside the set below:
)the literal ) (4110 / 518 / 2916)
\.the literal . (4610 / 568 / 2E16)
Non-Capturing Group(?:(?#
# from https://help.obsidian.md/Advanced+topics/Accepted+file+formats:
)md|png|jpg|jpeg|gif|bmp|svg|mp3|webm|wav|m4a|ogg|3gp|flac|mp4|webm|ogv|mov|mkv|pdf) 1st Alternative(?#
# from https://help.obsidian.md/Advanced+topics/Accepted+file+formats:
)md Comment:
# from https://help.obsidian.md/Advanced+topics/Accepted+file+formats:
mdthe literal text md (case sensitive) pngthe literal text png (case sensitive) jpgthe literal text jpg (case sensitive) jpegthe literal text jpeg (case sensitive) gifthe literal text gif (case sensitive) bmpthe literal text bmp (case sensitive) svgthe literal text svg (case sensitive) mp3the literal text mp3 (case sensitive) webmthe literal text webm (case sensitive) wavthe literal text wav (case sensitive) m4athe literal text m4a (case sensitive) oggthe literal text ogg (case sensitive) 3gpthe literal text 3gp (case sensitive) flacthe literal text flac (case sensitive) mp4the literal text mp4 (case sensitive) Comment:
# rest:
Group fragment(?P<fragment>(?:\#[^)]*?)*) Group title(?P<title>(?:\s+\".*\")*) \)the literal ) (4110 / 518 / 2916)
g modifier: global. Finds all matches instead of stopping after the first
m modifier: multiline. Causes ^ and $ to match the start and end of each line, not only the start and end of the string