Thema RegEx Freitag, 16.2.2007, 12:34:21 Uhr
Reguläre Ausdrücke - Klammerung und gespeicherte Werte
Wie Sie vorher gesehen haben, können Wiederholungen von Zeichen ermittelt werden, indem man die Zeichen in Klammern setzt.Diese Klammerung hat aber auch noch einen anderen Effekt: Die gefundenen Zeichen werden bestimmten Variablen zugewiesen! Diese Zuweisung ist eine sehr hilfreiche Einrichtung von Perl, wie Sie gleich sehen werden:
$t='<a href="test.htm">Test</a>'; $t=~ /(<a.*?>)(.*?)(<\/a>)/; print "Linkcode: $1\nLinktext: $2\nEndocde: $3";
|
Weiterlesen...
Freitag, 16.2.2007, 10:09:57 Uhr
Kuriose Reguläre Ausdrücke Hier will ich in loser Reihenfolge die seltsamsten von gefundenen Regulären Ausdrücke vorstellen.
Split mit RegEx
$t="wert1 wert2"; ($a,$b)=$t=~ /(.*) (.*)/; print "a: $a, b: $b";
|
Weiterlesen...
Donnerstag, 15.2.2007, 21:47:15 Uhr
Gegen die Gier - Kürzeste Möglichkeit finden mit regulären Ausdrücken Perl ist ja, wie Sie bekanntermaßen jetzt wissen, gierig. Es werden also immer die längsten möglichen Ergebnisse verwendet. Dies hat ja oftmals Vorteile, was aber, wenn man die kürzeste Variante braucht? Natürlich geht das auch, wäre auch blöd wenn nicht...
Um die kürzeste Variante einer Entsprechung eines regulären Ausdruckes zu finden, wird das ?-Zeichen verwendet. Am Besten, ich bringe gleich ein Beispiel:
$t='<a href="test.htm">bla</a>'; $t=~ /<.*?>/; print "$&\n";
|
Weiterlesen...
Donnerstag, 15.2.2007, 17:43:57 Uhr
Wiederholungen finden mit regulären Ausdrücken Eine besondere Flexibilität erhalten Reguläre Ausdrücke durch die Möglichkeit, nach mehrfachem Auftreten von Zeichen zu suchen. Erreicht wird dies durch die Angabe der Anzahl in geschweiften Klammern { und }. Die Angabe {2,5} bedeutet, daß das Zeichen 2-5 mal enthalten sein muß.
Beispiel Weiterlesen...
Dienstag, 6.2.2007, 17:01:47 Uhr
Reguläre Ausdrücke - Einfache Suche mit gemischten Zeichen Wie die einfache Suche funktioniert haben wir ja nun gesehen. Auch die Funktion von Zeichenklassen sollte klar sein.
Hier noch ein Beispiel für die einfache Suche mit Zeichen und Zeichenklassen zusammen:
$t="Perl-Version 5.002"; if ($t=~ /\d\.\d/){print "wahr";}
|
Weiterlesen...
Freitag, 2.2.2007, 11:40:32 Uhr
Reguläre Ausdrücke - Suche nach Zeichen am Wortanfang und am Wortende Nochmal zurück zur einfachen Suche.
Wie kann ich nach Zeichen Suchen, die am Wortanfang oder am Wortende stehen? Natürlich bieten reguläre Ausdrücke auch dafür eine Lösung. Die zeichen ^ und $ werden dafür genutzt.
Beispiel: Weiterlesen...
Freitag, 2.2.2007, 11:26:13 Uhr
Reguläre Ausdrücke - Einfaches Suchen die 2. Die Grundlagen des Suchens wurde bereits hier vorgestellt.Es wurde vorgestellt, wie man Zeichenketten in Zeichenketten finden kann. Jedoch war das ganze noch ziemlich "unhandlich" und sehr umständlich. Was zum Beispiel, wenn man zum Beispiel die Groß-Kleinschreibung ignorieren möchte, oder ganze Bereiche von bestimmten Zeichen suchen oder ausschließen möchte?
Also, weiter gehts mit dem "einfachen" Suchen
Weiterlesen...
Freitag, 2.2.2007, 11:24:31 Uhr
Reguläre Ausdrücke Reguläre Ausdrücke sind das wahrscheinlich mächtigste Werkzeug in Perl. Mit diesen regulären Ausdrücken kann man Skalare relativ einfach nach bestimmten Zeichen oder Zeichenketten durchsuchen, man kann aber auch relativ einfach einzelne Zeichen oder Zeichenketten austauschen, löschen oder einfügen. Wie sie vielleicht merken, sage ich immer relativ einfach. In Wahrheit braucht es einiges an Zeit und Übung, bis man sich an den Syntax gewöhnt hat.
Aber fangen wir einfach mal von vorne an:
Weiterlesen...
Donnerstag, 1.2.2007, 20:22:56 Uhr
RegEx Spickzettel - Abkürzungen in regulären Ausdrücken
^ Von Beginn der Zeile , also ^abc findet abc, abcdefg, abc234, BESONDERHEIT: in []-Klammer bedeutet das Zeichen eine Negation! $ Ende der Zeile, also abc$ findet abc, endeabc, 1234abc . Jedes Zeichen | Oder, also findet hans|franz hans oder franz Weiterlesen...
Dienstag, 30.1.2007, 11:50:26 Uhr
Perl-Code ausführen in einer Regular Expression Ich hatte mal das Problem, daß ich in einem regulären Ausdruck zusätzlich Code ausführen mußte (wollte).
Also, flugs im perlretut nachgelesen, alles auf Englisch gefunden, Hälfte verstanden und dann lang herumprobiert, denn im perlretut steht, daß es prinzipiell funktionieren müßte.
Also, mal so zum Testen, folgende Problemstellung: Weiterlesen...
|