Ich versuche, extrahieren Hashtags in einem HTML-Text mit dem regulären Ausdruck #([a-z0-9_]+)
, aber mit Schwierigkeiten in HTML-Attribute.Regex-Muster zu Hashtag, aber nicht in HTML-Attribute
Zum Beispiel im HTML-Text:
hola que tal with #hash1.
hola que tal with #hash2
y <a href="hola.que.tal#hash3"> para #hash4. </a>
Ich mag erholen "hash1", "hash2" und "hash4" aber nicht "hash3".
Ich versuchte es mit lookarounds zu lösen, mit dem folgenden Ausdruck:
(?<!<)#([a-z0-9_]+)(?!.*?>)
aber ohne Erfolg. Wie kann ich es mit einem einzigen regulären Ausdruck machen?
Verwenden Sie einen HTML-Parser und eventuell eine Xpath-Abfrage, um nur auf Textknoten zu zielen. Verwenden Sie dann einen Basisregex, um Ihre Hashtags für jeden Textknoten zu finden. –
Ich weiß, ich kann es in mehreren Schritten tun, aber ich muss es mit einem einzigen regulären Ausdruck tun. Danke @CasimiretHippolyte –
Warum möchten Sie es mit nur einem Schritt (regulärer Ausdruck) tun? –