Ich schrieb einen Regex-Code, um Anker-Tags aus einer HTML-Datei zu extrahieren und bekam diese Ausgabe.So lösen Sie diese sed Syntax Problem
mdlinks.txt
<a href='/aspnet/aspnet_refhtmlcontrols.asp'>ASP.NET Reference</a>
<a href='/aspnet/webpages_ref_classes.asp'>Razor Reference</a>
<a href='/html/html_examples.asp'>HTML Examples</a>
<a href='/css/css_examples.asp'>CSS Examples</a>
<a href='/w3css/w3css_examples.asp'>W3.CSS Examples</a>
<a href="/js/js_examples.asp" target="_top">JavaScript Examples</a>
<a href="/js/js_dom_examples.asp" target="_top">HTML DOM Examples</a>
Ich habe die Ausgabe als
darzustellen "Text anzuzeigen" das Sed Werkzeug.
<a[\s]href=('|")([^>]+)">((?:.(?!\<\/a\>))*.)<\/a>
Dies ist meine Regex, die den Text und href Link erfasst.
Hier ist der sed Befehl i
schriebsed -E "s/\"<a[\s]href=('|\")([^>]+)\">((?:.(?!\<\/a\>))*.)<\/a>\"/\[\2\] \(\1\)/" mdlinks.txt
Aber das gibt mir Fehler. Kann mir bitte helfen?
Welche Fehler bekommen Sie? Und wie sieht die gewünschte Ausgabe aus? – tink
Sie versuchen, eine Regexp-Variante zu verwenden, die nicht von sed oder einem anderen Standard-UNIX-Tool unterstützt wird (vielleicht ist es ein PCRE? Idk). Poste einen [mcve], damit wir dir helfen können. –
Sie können nicht-einfangende Gruppen '(?:)' Mit sed nicht verwenden. –