Heim >Backend-Entwicklung >C++ >Wie extrahiere ich href-Attributwerte aus Ankerlinks mithilfe regulärer Ausdrücke?
Verwenden Sie reguläre Ausdrücke, um den href-Attributwert des Ankerlinks zu extrahieren
Um den href-Attributwert aus einem HTML-Ankerlink zu extrahieren, können Sie einen benutzerdefinierten regulären Ausdruck verwenden. Hier finden Sie eine umfassende Antwort für Ihre spezifischen Anforderungen:
Das von Ihnen bereitgestellte Regex-Muster „@(<a.>?>.?)“ identifiziert Ankerlinks, erfasst jedoch nicht den href-Wert. Um dies zu erreichen, benötigen Sie ein spezifischeres Muster:
<code><a\s+(?:[^>]*?\s+)?href=(["'])(.*?)</code>
Dieser Modus ist wie folgt unterteilt:
<a
entspricht dem Startankertag. s (?:[^>]*?s )?
entspricht allen Leerzeichen und optionalen Attributen (nicht erfassenden Gruppen) innerhalb von Anker-Tags. href=
entspricht dem href-Attribut. (["'])(.*?)1
erfasst den href-Wert, der zwischen doppelten oder einfachen Anführungszeichen steht (Erfassungsgruppe). Gültige URLs filtern
Um ungültige URLs (URLs, die weder „?“ noch „=" Zeichen enthalten) herauszufiltern, können Sie den folgenden regulären Ausdruck verwenden:
<code>page\.php\?id\=.*</code>
Dieses Muster sucht nach Zeichenfolgen, die den von Ihnen angegebenen Kriterien entsprechen.
Href-Wert aus verknüpfter Liste extrahieren
Sie haben angegeben, dass Sie keine Ankertags mehr analysieren müssen, und Sie verfügen jetzt über eine Liste von Links im Format „href="abcdef"". Um den href-Wert aus dieser Liste zu extrahieren, können Sie Folgendes verwenden:
<code>"href=(['"])(.*?)</code>
Dieser Modus erfasst href-Werte, auch wenn sie in doppelte oder einfache Anführungszeichen gesetzt sind.
JavaScript-Code-Snippet
Um zu demonstrieren, wie diese regulären Ausdrucksmuster in JavaScript verwendet werden, finden Sie hier einen Codeausschnitt:
<code class="language-javascript">const pattern = /<a\s+(?:[^>]*?\s+)?href=(["'])(.*?)/; const linkText = '<a href="www.example.com/page.php?id=xxxx&name=yyyy"></a>'; const match = pattern.exec(linkText); if (match) { console.log(match[2]); // 输出:www.example.com/page.php?id=xxxx&name=yyyy }</code>
Das obige ist der detaillierte Inhalt vonWie extrahiere ich href-Attributwerte aus Ankerlinks mithilfe regulärer Ausdrücke?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!