⊗ppPmRgChG 230 of 447 menu

Tegngrupper i regulære udtryk i PHP

Der findes specielle kommandoer, som gør det muligt at vælge hele grupper af tegn på én gang. Kommandoen \d betyder et ciffer fra 0 til 9. Kommandoen \w betegner et ciffer, et latinsk bogstav eller underscore-tegnet. Kommandoen \s betegner et mellemrum eller et whitespace-tegn: mellemrum, linjeskift, tabulator. Det er muligt at invertere kommandoens værdi ved at skrive et stort bogstav: for eksempel, hvis \d er et ciffer, så er \D et ikke-ciffer.

Eksempel

Lad os finde alle cifre:

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

Som resultat vil følgende blive skrevet i variablen:

'! !! !!!'

Eksempel

Gentagelsesoperatorer betragter kommando-grupper som en helhed, det vil sige grupperingsparenteser er ikke nødvendige. I det følgende eksempel ser søgemønsteret sådan ud: ciffer fra 0 til 9 en eller flere gange:

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

Som resultat vil følgende blive skrevet i variablen:

'! ! ! abc @@@'

Eksempel

I det følgende eksempel ser søgemønsteret sådan ud: hvad som helst en eller flere gange, men ikke et ciffer fra 0 til 9:

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

Som resultat vil følgende blive skrevet i variablen:

'123!3!'

Eksempel

I dette eksempel ser søgemønsteret sådan ud: whitespace-tegn én gang:

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

Som resultat vil følgende blive skrevet i variablen:

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

Eksempel

I dette eksempel ser søgemønsteret sådan ud: IKKE whitespace-tegn en eller flere gange. Alle understrenge, adskilt af mellemrum, vil blive erstattet med '!':

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

Som resultat vil følgende blive skrevet i variablen:

'! ! ! ! !'

Eksempel

I dette eksempel ser søgemønsteret sådan ud: ciffer eller bogstav en eller flere gange. Alle understrenge, der består af cifre og bogstaver, vil blive erstattet med '!':

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

Som resultat vil følgende blive skrevet i variablen:

'! ! ! ! @@@'

Eksempel

I dette eksempel ser søgemønsteret sådan ud: IKKE ciffer og IKKE bogstav en eller flere gange. I vores tilfælde falder '@@@' og alle mellemrum (de er jo heller ikke cifre eller bogstaver) under denne definition. Vær opmærksom på at der til sidst er én '!' - i den blev strengen ' @@@' transformeret - med et mellemrum foran:

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

Som resultat vil følgende blive skrevet i variablen:

'1!12!123!Abc!'

Praktiske opgaver

Givet en streng:

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

Skriv et regulært udtryk, der finder strenge, hvor der står bogstaver 'a' på kanterne, og mellem dem er der ét ciffer.

Givet en streng:

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

Skriv et regulært udtryk, der finder strenge, hvor der står bogstaver 'a' på kanterne, og mellem dem er der et hvilket som helst antal cifre.

Givet en streng:

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

Skriv et regulært udtryk, der finder strenge, hvor der står bogstaver 'a' på kanterne, og mellem dem er der et hvilket som helst antal cifre (herunder også nul cifre, det vil sige strengen 'aa').

Givet en streng:

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

Skriv et regulært udtryk, der finder strenge af følgende type: på kanterne står bogstaver 'a' og 'b', og mellem dem - ikke et tal.

Givet en streng:

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

Skriv et regulært udtryk, der finder strenge af følgende type: på kanterne står bogstaver 'a' og 'b', og mellem dem - ikke et bogstav og ikke et ciffer.

Givet en streng:

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

Skriv et regulært udtryk, der erstatter alle mellemrum med '!'.

Dansk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDeutschΕλληνικά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
Vi bruger cookies til webstedets funktion, analyse og personalisering. Behandling af data foregår i henhold til Fortrolighedspolitikken.
accepter alle tilpas afvis