Die Leistungsfähigkeit von RegEx besteht darin, daß man damit weit über einfaches Suchen/Ersetzen hinausgehen kann und daß man syntaktisch verschiedenartige Inputs, wie sie bsp. bei Html vorkommen können, mit einem einzigen Ausdruck analysieren kann.
@Gagget, dein RegEx läßt sich fast äquivalent ersetzen durch ein Suchen nach
QUOTE <meta name="Keywords" lang="de" content="
und ein anschließendes Suchen nach dem schließenden ", das dürfte i.d.R. auch schneller als ein RegEx sein.
Da deine Lösung aber bei allen anderen, semantisch äquivalenten Eingaben versagt, ist sie schlicht und einfach falsch - genau für solche Probleme verwendet man ja RegEx.
QUOTE (Gagget @ Do 31.8.2006, 20:18)Mit deinem Beispiel hast du eigentlich eher das Gegenteil bewiesen, nämlich das RegEx nicht 'machbar' ist.
Den der RegEx den du da gepostet hast, würdest du doch mit deinem eigenen Tutorial nicht mehr unter ner Std oder 2 wieder hinkriegen. Und wer von RegEx nun gar keine Ahnung hat, für den ist das eh nur ein Stück String, was er mal in seine Funktion setzt und schaut ob es geht.
Für den obigen Ausdruck habe ich höchstens 5 Minuten gebraucht, das war ein Zusammensetzen von links nach rechts und ein Nachschlagen in meinem
RegEx-Glossar - das Schreiben des Beitrags hat länger gedauert. Wenn man die Konzepte einmal verstanden hat, dann kann man manche Details wieder vergessen - dann gehen solche noch eher einfachen Beispiele schnell.
PS: Die obige Lösung ist im Augenblick noch systematisch falsch. Man nutze den RegEx-Trainer und hänge zwei meta-Elemente hintereinander, ohne daß ein Return dazwischen kommt. Dann ahnt man das Problem.