Laden...

Brauche Hilfe bei Regex

Letzter Beitrag vor 18 Jahren 6 Posts 1.428 Views
Brauche Hilfe bei Regex

Hi,

nun bräuchte ich mal Hilfe bei einem regulären Audruck. Die Doko hat mir leider nicht weitergeholfen, bzw. ich habs wohl nicht so recht verstanden. Ich hab folgenden Ausdruck:


Regex regex = new Regex("<a.*?href=\"?(.*?)\"?>(.*?)</a>");
Match m = regex.Match(s);

Gesucht wird nach dem Inhalt eines href-Attributs und dem Linktext. Der Link kan beliebig weitere Attribute beinhalten:

<a href="123.html">text</a>

Nun möchte ich den zweiten und dritten Treffer in einen String speichern:


string[] s = { null, null, null, null, null };

Ist die deklaration eines solchen Strings überhaupt korrekt oder eher unsauber? Aber wie kann ich nun die gewünschten Treffer meines Regex weiter verarbeiten .. gibts da ein Array, das direkt verarbeitet werden kann ( m_ )?

Danke schon mal

Rufnex

Hallo Rufnex,

m.Groups [n]

herbivore

Danke! Sry für meine vielen Fragen . ich komm aus der Webprogrammierung (Perl, PHP, Python 😉

Ist die Deklaration eines Strings wie oben korrekt ?

Wenn du dir der Größe deines Arrays nicht sicher bist, dann nehme eine generische Liste

List<String> s = new List<String>();

Grüße

plucked

Hallo plucked,

ich hoffe, du schreibst jetzt nicht auf jeden Beitrag, in dem Array verwendet werden, dass man auch List<T> nehmen könnte. 🙂

Hallo Rufnex,

Ist die Deklaration eines Strings wie oben korrekt ?

Du deklarierst ein String-Array und keinen String. Ich verstehe auch nicht, wozu du das hier brauchst. m.Groups ist ja schon ein "Array". Außerdem, wenn du nur den zweiten und dritten Treffer brauchst, warum hat dein Array dann fünf Einträge? Also ich denke, du brauchst es nicht.

herbivore

Es werden nur z.T. die Ergebnisse aus dem Regex verwendet, die restlichen Daten kommen woanders her ;o)