![]() |
Regex: alle html links eines String bekommen?
Hallo,
wie kann ich alle links eines HTML Codes bekommen? WIe muss mein Regexpattern dazu aussehen? Der HTML Code sieht so aus: Zitat:
Nun muss ich ja sicher gehen, dass es auch wirklich ein link ist, dazu muss im pattern ja auch "<a href=" vorkommen und dann muss ich danach den Link der in " " steht bekommen. WIe stell ich das an? |
Re: Regex: alle html links eines String bekommen?
z.B. so:
Code:
[url="http://[^"]([^<]+)[/url]
|
Re: Regex: alle html links eines String bekommen?
@Meflin:
Code:
Q.E.D.
[url="http://foo.bar"][img]xzy.png[/img][/url]
Bau rein dass kein "</a>" vorkommen darf, alles andere ist aua. Greetz alcaeus |
Re: Regex: alle html links eines String bekommen?
Danke erstmal euch zwei.
Bei dem Code von Meflin bekomme ich keine Matches :\. Ich würd den pattern ja auch selber umändern, aber Regexe versteh ich wirklich nicht so... alcaeus, was meinst du damit? bzw wie stell ich das an? ich weiß bloß, dass mit ^ negiert wird, aber das wars leider auch scho |
Re: Regex: alle html links eines String bekommen?
Wie wärs damit?
Code:
P.S.: meine obige RegEx matcht bei deinem Beispiel [Beitrag #1] auch. KA was du da falsch machst?!
[url="http://[^"](.*?)[/url]
|
Re: Regex: alle html links eines String bekommen?
Oder noch n bissel universeller:
Code:
<a.*?href=['"].*?[^"]+['"].*?>(.*?)</a>
|
Re: Regex: alle html links eines String bekommen?
@Meflin, danke schonmal.
Wenn ich auf ![]() Link1 Link2 Link3 Ich brauche aber den Link selbst, nicht die Beschreibung zu diesem. Hast dafür nochmal nen Code parat? MfG PS: Wäre nicht schlecht, wenn du mir jeden Schritt des Patterns einmal erklären könntest, damit ich es nachvollziehen kann. Danke schonmal. |
Re: Regex: alle html links eines String bekommen?
Einfach das Klammern was du brauchst. Solltest dir vielleicht auch nebenbei noch mal die Hilfe zu RegEx durchlesen ...
Code:
<a.*?href=['"](.*?[^"]+)['"].*?>.*?</a>
|
Re: Regex: alle html links eines String bekommen?
Vielen Dank, das funktioniert! :)
Ich benutze C#.NET und dort ist die Hilfe sehr beschränkt was Regexes angeht. Ok ich habe auch schon im Internet geguckt, aber dort ist es wiederum zu Umfangreich (für mich) :). Aber nun brauch ich sie ja erstmal nicht mehr. Danke nochmal. |
Re: Regex: alle html links eines String bekommen?
Hier die Erklärung zur letzten RegEx (mit der für dich richtigen Klammerung):
Code:
<a.*?href=['"](.*?[^"]+)['"].*?>.*?</a>
Match the characters “<a” literally «<a» Match any single character that is not a line break character «.*?» Between zero and unlimited times, as few times as possible, expanding as needed (lazy) «*?» Match the characters “href=” literally «href=» Match a single character present in the list “'"” «['"]» Match the regular expression below and capture its match into backreference number 1 «(.*?[^"]+)» Match any single character that is not a line break character «.*?» Between zero and unlimited times, as few times as possible, expanding as needed (lazy) «*?» Match any character that is NOT a “"” «[^"]+» Between one and unlimited times, as many times as possible, giving back as needed (greedy) «+» Match a single character present in the list “'"” «['"]» Match any single character that is not a line break character «.*?» Between zero and unlimited times, as few times as possible, expanding as needed (lazy) «*?» Match the character “>” literally «>» Match any single character that is not a line break character «.*?» Between zero and unlimited times, as few times as possible, expanding as needed (lazy) «*?» Match the characters “</a>” literally «</a>» |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz