⊗ppPmRgChG 230 of 447 menu

Karaktergroepen in reguliere expressies PHP

Er zijn speciale commando's die het mogelijk maken om direct hele groepen karakters te selecteren. Het commando \d betekent een cijfer van 0 tot 9. Het commando \w staat voor een cijfer, een Latijnse letter of het onderstrepingsteken. Het commando \s staat voor een spatie of een witruimtekarakter: spatie, regelterugloop, tabulatie. Je kunt de betekenis van het commando inverteren door een hoofdletter te schrijven: bijvoorbeeld, als \d - een cijfer is, dan is \D - geen cijfer.

Voorbeeld

Laten we alle cijfers zoeken:

<?php $str = '1 12 123'; $res = preg_replace('#\d#', '!', $str); ?>

Als resultaat wordt het volgende in de variabele geschreven:

'! !! !!!'

Voorbeeld

Herhalingsoperatoren beschouwen de commando's-groepen als één geheel, dat wil zeggen dat groeperende haakjes niet nodig zijn. In het volgende voorbeeld ziet het zoekpatroon er als volgt uit: cijfer van 0 tot 9 een of meer keer:

<?php $str = '1 12 123 abc @@@'; $res = preg_replace('#\d+#', '!', $str); ?>

Als resultaat wordt het volgende in de variabele geschreven:

'! ! ! abc @@@'

Voorbeeld

In het volgende voorbeeld ziet het zoekpatroon er als volgt uit: alles wat dan ook een of meer keer, maar geen cijfer van 0 tot 9:

<?php $str = '123abc3@@'; $res = preg_replace('#\D+#', '!', $str); ?>

Als resultaat wordt het volgende in de variabele geschreven:

'123!3!'

Voorbeeld

In dit voorbeeld ziet het zoekpatroon er als volgt uit: witruimtekarakter één keer:

<?php $str = '1 12 123 abc @@@'; $res = preg_replace('#\s#', '!', $str); ?>

Als resultaat wordt het volgende in de variabele geschreven:

'1!12!123!abc!@@@'

Voorbeeld

In dit voorbeeld ziet het zoekpatroon er als volgt uit: NIET witruimtekarakter een of meer keer. Alle substrings, gescheiden door spaties, worden vervangen door '!':

<?php $str = '1 12 123 abc @@@'; $res = preg_replace('#\S+#', '!', $str); ?>

Als resultaat wordt het volgende in de variabele geschreven:

'! ! ! ! !'

Voorbeeld

In dit voorbeeld ziet het zoekpatroon er als volgt uit: cijfer of letter een of meer keer. Alle substrings, bestaande uit cijfers en letters, worden vervangen door '!':

<?php $str = '1 12 123a Abc @@@'; $res = preg_replace('#\w+#', '!', $str); ?>

Als resultaat wordt het volgende in de variabele geschreven:

'! ! ! ! @@@'

Voorbeeld

In dit voorbeeld ziet het zoekpatroon er als volgt uit: GEEN cijfer en GEEN letter een of meer keer. Onder deze definitie vallen in ons geval '@@@' en alle spaties (die zijn immers ook geen cijfers en geen letters). Let op het feit dat aan het einde één '!' staat - hierin is de string ' @@@' - met een spatie vooraan - omgezet:

$str = '1 12 123 Abc @@@'; $res = preg_replace('#\W+#', '!', $str);

Als resultaat wordt het volgende in de variabele geschreven:

'1!12!123!Abc!'

Praktische opdrachten

Gegeven een string:

<?php $str = 'a1a a2a a3a a4a a5a aba aca'; ?>

Schrijf een reguliere expressie die strings vindt, waarin aan de randen de letters 'a' staan, en daartussen één cijfer.

Gegeven een string:

<?php $str = 'a1a a22a a333a a4444a a55555a aba aca'; ?>

Schrijf een reguliere expressie die strings vindt, waarin aan de randen de letters 'a' staan, en daartussen een willekeurig aantal cijfers.

Gegeven een string:

<?php $str = 'aa a1a a22a a333a a4444a a55555a aba aca'; ?>

Schrijf een reguliere expressie die strings vindt, waarin aan de randen de letters 'a' staan, en daartussen een willekeurig aantal cijfers (inclusief null cijfers, dat wil zeggen de string 'aa').

Gegeven een string:

<?php $str = 'avb a1b a2b a3b a4b a5b abb acb'; ?>

Schrijf een reguliere expressie die strings vindt van het volgende type: aan de randen staan de letters 'a' en 'b', en daartussen - geen cijfer.

Gegeven een string:

<?php $str = 'ave a#b a2b a$b a4b a5b a-b acb'; ?>

Schrijf een reguliere expressie die strings vindt van het volgende type: aan de randen staan de letters 'a' en 'b', en daartussen - geen letter en geen cijfer.

Gegeven een string:

<?php $str = 'ave a#a a2a a$a a4a a5a a-a aca'; ?>

Schrijf een reguliere expressie die alle spaties vervangt door '!'.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren