import re
regex = re.compile(r"(?i)\[\[(?<firstlevelfolder>(?:assets|Bücher|Dokument|epsilon_notes|kontakte|literatur|Projekt|Test|Wissen|WV)(?:[\w_]*)\/)(?<bildpfad>[^\|\\\]]+)(\\\||\|)*(?<bildattribut>[^\]]*)\]\]", flags=re.MULTILINE)
test_str = ("Link zum Bild:\n"
"![[Projekte/Mikroskop/_resources/f04ae6b6a924e20e761dce25603b3bd8.jpg]]\n"
"![[assets/(15) Bigger Arms Workout (Dumbbells Only) - YouTube - 3 34.jpeg]]\n\n"
"![[subfolder/image.png|100x100]]\n"
"![[subfolder/sub2/image.png|100x100]]\n"
"![[../../ima/ge.png|100x100]]\n"
"[[Dokumente/Gesundheit/Dave/_Dave_overview]]\n"
"![[Projekte/image.png|100x100]]\n"
"![[Projekte_irgendwas/image.Png|100x100]]\n"
" \n"
"[[assets/MiSZ 2T.pdf]]\n"
"[[assets2/MiSZ 2T.pdf]]\n"
"![[Projekte/Mikroskop/Leica, Wild/Product Guide for Stereomicroscopes. Living up to Life.pdf]]\n"
"![[BA_GSZ 2_GSZ 2T.pdf#page=7]]\n"
"![[BA_GSZ 2_GSZ 2T.pdf]]\n\n"
"Beispiel-tabelle:\n"
"Caption1 | Caption2 |\n"
"---|---|\n"
"Content1 text | Link innerhalb Tabelle mit Attributen\n"
"![[Projekte/Mikroskop/_resources/f04ae6b6a924e20e761dce25603b3bd8.jpg\\|300]] |\n"
"vorerst letzte Zeile | Text Text Text |\n\n"
"![[Projekte/Mikroskop/_resources/f04ae6b6a924e20e761dce25603b3bd8.jpg\\|200]]")
subst = "[<span style=\"color:blue\">CPLinkToFile: </span> <span style=\"background-color: #caecff; color:blue\">**${firstlevelfolder}${bildpfad}**</span>](/storage/emulated/0/onedrive/obsidian/${firstlevelfolder}${bildpfad})"
result = regex.sub(subst, test_str)
if result:
print(result)
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 Python, please visit: https://docs.python.org/3/library/re.html