PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   Zeilenumbruch im Regex Pattern (http://www.selfphp.de/forum/showthread.php?t=25888)

Auf der Mauer 24.06.2016 13:34:47

Zeilenumbruch im Regex Pattern
 
Hallo,

ich habe da mal eine kurze Frage.
Innerhalb einer Anwendung habe ich einen längeren Regex geschrieben der nur mit preg_match matched wenn er in einer Zeile steht.
Aufgrund der Länge, Übersicht und Lesbarkeit würde ich den Regex aber gerne über mehrere Zeilen schreiben.
Wie kann ich einen Zeilenumbruch einbauen, ohne dass dieser Teil des Regex wird?

Also nicht der zu überprüfende String soll einen Zeilenumbruch enthalten sondern der Zeilenumbruch innerhalb des Regex soll ignoriert werden.

Gruß
Auf der Mauer

chorn 24.06.2016 13:57:11

AW: Zeilenumbruch im Regex Pattern
 
wenn du sonst keine Zeilenumbrüche hast, wirf die einfach mit str_replace wieder raus.

vt1816 24.06.2016 14:00:33

AW: Zeilenumbruch im Regex Pattern
 
Zitat:

Zitat von Auf der Mauer (Beitrag 148666)
[..]
habe ich einen längeren Regex geschrieben

Beispiel / Code?

Auf der Mauer 24.06.2016 15:03:50

AW: Zeilenumbruch im Regex Pattern
 
Zitat:

Zitat von vt1816 (Beitrag 148669)
Beispiel / Code?

Na es geht nur um einen Zeilenumbruch im Pattern nicht im zu durchsuchenden String.

PHP-Code:

# irgendein x-beliebiger pattern
   
$pattern "/^(?=[A-Z0-9._%+-]{6,254}$)
              [A-Z0-9._%+-]{1,64}@(?:[A-Z0-9-]{1,63}\.){1,8}
              [A-Z]{2,63}$/"


Als Einzeiler findet die Funktion preg_match einen Treffer als Mehrzeiler nicht weil der Zeilenumbruch nicht ignoriert und im untersuchten String gesucht wird.

vt1816 24.06.2016 15:15:46

AW: Zeilenumbruch im Regex Pattern
 
Vorschlag
PHP-Code:

# irgendein x-beliebiger pattern
   
$pattern =  "/^(?=[A-Z0-9._%+-]{6,254}$)"
              
."[A-Z0-9._%+-]{1,64}@(?:[A-Z0-9-]{1,63}\.){1,8}"
              
."[A-Z]{2,63}$/"

** ungetestet! **

Auf der Mauer 24.06.2016 15:38:02

AW: Zeilenumbruch im Regex Pattern
 
Och mensch, der olle Verkettungsoperator, den kenne ich doch. ;)
Ist mir leider nicht eingefallen. Besten Dank!

vt1816 24.06.2016 15:40:48

AW: Zeilenumbruch im Regex Pattern
 
Dafür sind wir hier ...


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:33:00 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.