⊗ppPmRgGB 225 of 447 menu

Gruppierende Klammern in PHP-Regex

In vorherigen Beispielen wirkten Wiederholungsoperatoren nur auf ein Zeichen, das vor ihnen stand. Was tun, wenn wir möchten, dass sie auf mehrere Zeichen wirken?

Dafür gibt es gruppierende Klammern '(' und ')'. Sie funktionieren so: wenn etwas in gruppierenden Klammern steht und direkt nach ')' ein Wiederholungsoperator steht - wirkt er auf alles, was innerhalb der Klammern steht.

Im folgenden Beispiel sieht das Suchmuster so aus: Buchstabe 'x', dann Zeichenkette 'ab' einmal oder mehrmals, dann Buchstabe 'x':

<?php $str = 'xabx xababx xaabbx'; $res = preg_replace('#x(ab)+x#', '!', $str); ?>

Als Ergebnis wird in die Variable folgendes geschrieben:

'! ! xaabbx'

Gegeben sei der String:

<?php $str = 'ab abab abab abababab abea'; ?>

Schreiben Sie einen regulären Ausdruck, der Strings nach dem Muster findet: String 'ab' wiederholt sich 1 oder mehrmals.

pluzchidaes