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

Instagram API mit PHP Ich kann mich nicht entscheiden, ob Instagram clever oder dumm ist. Auf der einen Seite kommt man mit den Apps für mobile Geräte ganz schön weit, auf ...
Wasserzeichen mit PHP Image Workshop Eins mit Abstand besten Module für Drupal ist das Imagecache Modul. Ich habe mich ja schon des öfteren darüber ausgelassen wie schade es ist, das kein...
VerbalExpressions – intuitive reguläre Ausdr... Man versucht es zwar immer, aber um Regular Expressions kommt man in der Regel nicht herum. Grund ist, das Such-Phrasen viel zu komplex sein können, u...
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...

Schreibe einen Kommentar

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