Simple Regex Language für PHP

Simple Regex Language ist eine sehr interessante Bibliothek für PHP. Regex sind eine Sache die zum einen durchaus komplex werden können, zum anderen auch durchaus schwer zu Erlernen / Verstehen sind. Ich weiß ehrlich gesagt nicht wie viele Stunden ich schon damit zugebracht habe komplexe Regex für URL-Rewrites von Agenturen zu erstellen. Ich hatte seinerzeit sogar ein Tutorial für Regex erstellt.

SRL ist eine interessante Library für PHP, die versucht Regular Expressions in eine lesbare Form zu bringen. Nicht das es so etwas nicht schon gäbe,  aber das Ergebnis von SLR ist dennoch recht interessant. So erstellt es aus:

/^(?:[0-9]|[a-z]|[\._%\+-])+(?:@)(?:[0-9]|[a-z]|[\.-])+(?:\.)[a-z]{2,}$/i

in der SRL Syntax folgende Anweisung:

begin with any of (digit, letter, one of "._%+-") once or more,
literally "@",
any of (digit, letter, one of ".-") once or more,
literally ".",
letter at least 2 times,
must end, case insensitive

Das Konzept der Sprache ist durchaus etwas weiter gefasst. Die Bibliothek existiert nämlich nicht nur für PHP, sondern für fast jede größere Programmiersprache inklusive JavaScript. Direkt in PHP sieht das Ganze dann so aus:

$query = SRL::startsWith()
    ->anyOf(function (Builder $query) {
        $query>digit()
            ->letter()
            ->oneOf('._%+-');
    })->onceOrMore()
    ->literally('@')
    ->anyOf(function (Builder $query) {
        $query->digit()
            ->letter()
            ->oneOf('.-');
    })->onceOrMore()
    ->literally('.')
    ->letter()->atLeast(2)
    ->mustEnd()->caseInsensitive();

Ganz interessant wie ich finde, man sollte sich allerdings auch mit der Geschwindigkeit innerhalb der einzelnen Sprachen beschäftigen. Regex an sich sind in der Regel schon langsam und eine eigene Sprache davor zu setzen wird es nicht besser machen. Dennoch kann die Library für viele eine große Hilfe sein. Zur allgemeinen Homepage der Simple Regex Language geht es hier entlang. Die PHP-Umsetzung findet sich hier. Und die Umsetzung für weiter Sprachen kann hier gefunden werden.

Ähnliche Beiträge

Besseres Debugging in PHP Debugging in PHP ist das größte Arschloch von allen nicht schön. Wohl dem, der einigen Aufwand betrieben hat, um XDebug an den Start zu kriegen. Aber ...
PHP beschleunigen mit phpFastCache Je höher die Besucher-Zahlen einer Seite werden, desto mehr Probleme fängt man sich ein. In der Regel kommt man heutzutage auf die Idee, langsamen Web...
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...
Google Analytics GA.PI() – Klasse um Analytics mit... Dass Google Analytics eine API anbietet, um direkt Daten auszulesen und diese selbst darzustellen ist nichts Neues. Wie bei allen APIs stellt sich abe...

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.