using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"(?i)\[\[(?<firstlevelfolder>(?:assets|Bücher|Dokument|epsilon_notes|kontakte|literatur|Projekt|Test|Wissen|WV)(?:[\w_]*)\/)(?<bildpfad>[^\|\\\]]+)(\\\||\|)*(?<bildattribut>[^\]]*)\]\]";
string substitution = @"[<span style=""color:blue"">CPLinkToFile: </span> <span style=""background-color: #caecff; color:blue"">**${firstlevelfolder}${bildpfad}**</span>](/storage/emulated/0/onedrive/obsidian/${firstlevelfolder}${bildpfad})";
string input = @"Link zum Bild:
![[Projekte/Mikroskop/_resources/f04ae6b6a924e20e761dce25603b3bd8.jpg]]
![[assets/(15) Bigger Arms Workout (Dumbbells Only) - YouTube - 3 34.jpeg]]
![[subfolder/image.png|100x100]]
![[subfolder/sub2/image.png|100x100]]
![[../../ima/ge.png|100x100]]
[[Dokumente/Gesundheit/Dave/_Dave_overview]]
![[Projekte/image.png|100x100]]
![[Projekte_irgendwas/image.Png|100x100]]
[[assets/MiSZ 2T.pdf]]
[[assets2/MiSZ 2T.pdf]]
![[Projekte/Mikroskop/Leica, Wild/Product Guide for Stereomicroscopes. Living up to Life.pdf]]
![[BA_GSZ 2_GSZ 2T.pdf#page=7]]
![[BA_GSZ 2_GSZ 2T.pdf]]
Beispiel-tabelle:
Caption1 | Caption2 |
---|---|
Content1 text | Link innerhalb Tabelle mit Attributen
![[Projekte/Mikroskop/_resources/f04ae6b6a924e20e761dce25603b3bd8.jpg\|300]] |
vorerst letzte Zeile | Text Text Text |
![[Projekte/Mikroskop/_resources/f04ae6b6a924e20e761dce25603b3bd8.jpg\|200]]";
RegexOptions options = RegexOptions.Multiline;
Regex regex = new Regex(pattern, options);
string result = regex.Replace(input, substitution);
}
}
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 C#, please visit: https://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex(v=vs.110).aspx