⊗ppPmRgCB 228 of 447 menu

Geschweifte Klammern in regulären Ausdrücken von PHP

Die Operatoren +, *, ? sind gut, allerdings kann mit ihnen nicht eine bestimmte Anzahl von Wiederholungen angegeben werden. In diesem Fall kommt der Operator {} zur Rettung.

Er funktioniert wie folgt: {5} - fünf Wiederholungen, {2,5} - wiederholt sich von zwei bis fünf (beide inklusive), {2,} - wiederholt sich zwei Mal oder öfter.

Beispiel

In diesem Beispiel sieht das Suchmuster so aus: Buchstabe 'x', Buchstabe 'a' ein oder zwei Mal, Buchstabe 'x':

<?php $str = 'xx xax xaax xaaax'; $res = preg_replace('#xa{1,2}x#', '!', $str); ?>

In der Variable wird folgendes gespeichert:

'xx ! ! xaaax'

Beispiel

In diesem Beispiel sieht das Suchmuster so aus: Buchstabe 'x', Buchstabe 'a' zwei Mal oder öfter, Buchstabe 'x':

<?php $str = 'xx xax xaax xaaax'; $res = preg_replace('#xa{2,}x#', '!', $str); ?>

In der Variable wird folgendes gespeichert:

'xx xax ! !'

Beispiel

In diesem Beispiel sieht das Suchmuster so aus: Buchstabe 'x', Buchstabe 'a' drei Mal, Buchstabe 'x':

<?php $str = 'xx xax xaax xaaax'; $res = preg_replace('#xa{3}x#', '!', $str); ?>

In der Variable wird folgendes gespeichert:

'xx xax xaax !'

Beispiel

In diesem Beispiel sieht das Suchmuster so aus: Buchstabe 'a' zehn Mal:

<?php $str = 'aaa aaaaaaaaaa aaa'; $res = preg_replace('#a{10}#', '!', $str); ?>

In der Variable wird folgendes gespeichert:

'aaa ! aaa'

Beispiel

In diesem Beispiel wollte der Autor des Codes ein solches Muster: Buchstabe 'x', Buchstabe 'a' drei Mal oder weniger, Buchstabe 'x', aber leider funktioniert so etwas - {,3} - nicht. Es muss explizit angegeben werden:

<?php $str = 'xx xax xaax xaaax'; $res = preg_replace('#xa{1,3}x#', '!', $str); ?>

In der Variable wird folgendes gespeichert:

'xx ! ! !'

Beispiel

Null ist auch erlaubt:

<?php $str = 'xx xax xaax xaaax'; $res = preg_replace('#xa{0,3}x#', '!', $str); ?>

In der Variable wird folgendes gespeichert:

'! ! ! !'

Praktische Aufgaben

Gegeben ist ein String:

<?php $str = 'aa aba abba abbba abbbba abbbbba'; ?>

Schreiben Sie einen regulären Ausdruck, der die Strings 'abba', 'abbba', 'abbbba' und nur diese findet.

Gegeben ist ein String:

<?php $str = 'aa aba abba abbba abbbba abbbbba'; ?>

Schreiben Sie einen regulären Ausdruck, der die Strings der Art 'aba' findet, in denen 'b' weniger als drei Mal (inklusive) vorkommt.

Gegeben ist ein String:

<?php $str = 'aa aba abba abbba abbbba abbbbba'; ?>

Schreiben Sie einen regulären Ausdruck, der die Strings der Art 'aba' findet, in denen 'b' mehr als vier Mal (inklusive) vorkommt.

Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen