⊗ppPmRgChG 230 of 447 menu

Tegngrupper i regulære uttrykk i PHP

Det finnes spesielle kommandoer som tillater å velge hele tegn grupper på en gang. Kommandoen \d betyr et siffer fra 0 til 9. Kommandoen \w betegner et siffer, en latinsk bokstav eller understrekingstegnet. Kommandoen \s betegner et mellomrom eller et blanktegn: mellomrom, linjeskift, tabulator. Du kan invertere betydningen av kommandoen ved å skrive stor bokstav: for eksempel, hvis \d er et siffer, så er \D ikke et siffer.

Eksempel

La oss finne alle sifre:

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

Resultatet i variabelen vil bli følgende:

'! !! !!!'

Eksempel

Repetisjonsoperatorer betrakter kommando-grupper som en helhet, det vil si at grupperende parenteser ikke er nødvendig. I det følgende eksemplet ser søkemønsteret slik ut: siffer fra 0 til 9 en eller flere ganger:

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

Resultatet i variabelen vil bli følgende:

'! ! ! abc @@@'

Eksempel

I det følgende eksemplet ser søkemønsteret slik ut: hva som helst en eller flere ganger, men ikke et siffer fra 0 til 9:

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

Resultatet i variabelen vil bli følgende:

'123!3!'

Eksempel

I dette eksemplet ser søkemønsteret slik ut: blanktegn én gang:

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

Resultatet i variabelen vil bli følgende:

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

Eksempel

I dette eksemplet ser søkemønsteret slik ut: IKKE blanktegn en eller flere ganger. Alle delstrenger, atskilt med mellomrom, vil bli erstattet med '!':

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

Resultatet i variabelen vil bli følgende:

'! ! ! ! !'

Eksempel

I dette eksemplet ser søkemønsteret slik ut: siffer eller bokstav en eller flere ganger. Alle delstrenger som består av sifre og bokstaver vil bli erstattet med '!':

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

Resultatet i variabelen vil bli følgende:

'! ! ! ! @@@'

Eksempel

I dette eksemplet ser søkemønsteret slik ut: IKKE siffer og IKKE bokstav en eller flere ganger. I vårt tilfelle passer '@@@' og alle mellomrom (de er jo også verken sifre eller bokstaver) inn i denne definisjonen. Vær oppmerksom på at det på slutten er én '!' - den ble til fra strengen ' @@@' - med mellomrom foran:

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

Resultatet i variabelen vil bli følgende:

'1!12!123!Abc!'

Praktiske oppgaver

Gitt en streng:

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

Skriv et regulært uttrykk som finner strenger, hvor det på sidene står bokstaver 'a', og mellom dem er det ett siffer.

Gitt en streng:

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

Skriv et regulært uttrykk som finner strenger, hvor det på sidene står bokstaver 'a', og mellom dem er et hvilket som helst antall sifre.

Gitt en streng:

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

Skriv et regulært uttrykk som finner strenger, hvor det på sidene står bokstaver 'a', og mellom dem er et hvilket som helst antall sifre (inkludert null sifre, det vil si strengen 'aa').

Gitt en streng:

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

Skriv et regulært uttrykk som finner strenger av følgende type: på sidene står bokstaver 'a' og 'b', og mellom dem - ikke et tall.

Gitt en streng:

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

Skriv et regulært uttrykk som finner strenger av følgende type: på sidene står bokstaver 'a' og 'b', og mellom dem - ikke bokstav og ikke siffer.

Gitt en streng:

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

Skriv et regulært uttrykk som erstatter alle mellomrom med '!'.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis