Tutorial Regular Expressions: Nach einem beliebigen Zeichen suchen

Wir können jetzt mittels Regular Expressions nach Zeichen in einer Zeichenkette suchen, das macht aber aus Geschwindigkeitsgründen in der Regel keinen Sinn. Und irgendwie entspricht es auch nicht dem Konzept von Regular Expressions, da ich ja eigentlich ein Textmuster erkennen möchte. In der Regel weiß ich zum Beispiel, in welchem Format eine E-Mail-Adresse aufgebaut ist, aber nicht welche sie enthält.

Aus diesem Grund kann man in den Regular Expressions nicht nur nach einem bestimmten Zeichen suchen, sondern auch nach Zeichen innerhalb einer bestimmten Bandbreite: so zum Beispiel „irgendeine Zahl“ oder auch „irgendein Buchstabe“. Innerhalb von Regular Expressions definiert man diese Suchen mit der eckigen Klammer [].

Die eckige Klammer ohne Zusätze definiert dabei genau ein Zeichen. Gibt man zum Beispiel ein [12] an darf im zu durchsuchenden Text an dieser Stelle eine 1 ODER eine 2 stehen. Vermutet man an der betreffenden Stelle „irgendeine Zahl“, dann wäre eine passende Angabe: [0123456789]. Da man zumindest beim ABC nicht alle 26 Buchstaben tippen möchte vereinfachen uns die Regular Expressions die Eingabe von Bereichen: [0123456789] kann auch als [0-9] angegeben werden.

Dies ist auch wichtig, da Regular Expressions Case Sensitive sind, ein A ist also etwas anderes als ein a – aus diesem Grund kann ich innerhalb der eckigen Klammern gleich mehrere Bereiche definieren. Ein [A-Z] würde nur Großbuchstaben finden, ein [a-zA-Z] hingegen alle Buchstaben. Da ich allerdings manchmal auch nach „allem außer“ Suchen möchte, kann die Angabe in den eckigen Klammern mittels eines Circumflex(^) auch negiert werden.

Eine Suche nach [^0-9] liefert zum Beispiel alles außer die Zahlen 0-9. Kommen wir wieder zurück zu unserem Beispiel:

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Win64; x64; Trident/4.0; .NET CLR 2.0.50727; SLCC1; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Tablet PC 2.0)

Suche nach: in[du]
Findet Windows, aber nicht Win64

Suche nach: x[0-9A-Z]
Findet x64

Suche nach: [^A-M]in
Findet Windows und Win64

Im nächsten Teil des Tutorials wird es darum gehen zu definieren, an welcher Position innerhalb des zu durchsuchenden Strings man die einzelnen Zeichen erwartet.

Ähnliche Beiträge

Tutorial Google Maps API – die Anfänge mit JavaScr... Wie versprochen kommt heute der erste Teil des Google Maps Tutorials, dass sich primär mit der API an sich und JavaScript beschäftigen wird. Bevor wir...
Tutorial OpenGeoDB – Die Installation der Datenban... Wer in Deutschland, Österreich und der Schweiz vernünftig geocodieren will, kommt in der Regel nicht an der OpenGeoDB vorbei. Google Maps ist da zwar ...
Tutorial Regular Expressions: Wiederholungen In den bisherigen Teilen des Tutorials haben wir Elemente immer so gesucht, das sie an einer bestimmten Stelle vorkommen mussten. Dies ist eher selten...
Tutorial Amazon Web Services mit PHP – I ... Die Amazon Web Services sind recht nett, wenn man einfach und schnell Content auf seine eigenen Seiten bringen möchte. Dabei geht es noch nicht einmal...

2 Kommentare

  • Eine schöne Einführung! :)
    Mach mal bitte so idiotensicher weiter. Dann verstehe sogar ich diese für mich immer noch kryptischen Zeichen! Oh was hab ich mich schon damit rumgeärgert, wenn ich auch nur ein Beispiel etwas ändern wollte. ;)

Schreibe einen Kommentar