⊗ppPmRgChG 230 of 447 menu

Gruppi di caratteri nelle espressioni regolari PHP

Esistono comandi speciali che consentono di selezionare interi gruppi di caratteri contemporaneamente. Il comando \d indica una cifra da 0 a 9. Il comando \w indica una cifra, una lettera latina o il carattere di sottolineatura. Il comando \s indica uno spazio o un carattere di spaziatura: spazio, ritorno a capo, tabulazione. È possibile invertire il significato del comando scrivendo una lettera maiuscola: ad esempio, se \d è una cifra, allora \D è una non-cifra.

Esempio

Troviamo tutte le cifre:

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

Di conseguenza, nella variabile verrà scritto quanto segue:

'! !! !!!'

Esempio

Gli operatori di ripetizione considerano i comandi di gruppo come un'unica entità, quindi le parentesi raggruppanti non sono necessarie. Nell'esempio seguente il modello di ricerca è il seguente: cifra da 0 a 9 una o più volte:

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

Di conseguenza, nella variabile verrà scritto quanto segue:

'! ! ! abc @@@'

Esempio

Nel seguente esempio il modello di ricerca è il seguente: qualsiasi cosa una o più volte, ma non una cifra da 0 a 9:

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

Di conseguenza, nella variabile verrà scritto quanto segue:

'123!3!'

Esempio

In questo esempio il modello di ricerca è il seguente: carattere di spaziatura una volta:

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

Di conseguenza, nella variabile verrà scritto quanto segue:

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

Esempio

In questo esempio il modello di ricerca è il seguente: carattere NON di spaziatura una o più volte. Tutte le sottostringhe, separate da spazi, saranno sostituite con '!':

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

Di conseguenza, nella variabile verrà scritto quanto segue:

'! ! ! ! !'

Esempio

In questo esempio il modello di ricerca è il seguente: cifra o lettera una o più volte. Tutte le sottostringhe composte da cifre e lettere saranno sostituite con '!':

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

Di conseguenza, nella variabile verrà scritto quanto segue:

'! ! ! ! @@@'

Esempio

In questo esempio il modello di ricerca è il seguente: NON cifra e NON lettera una o più volte. In base a questa definizione, nel nostro caso rientrano '@@@' e tutti gli spazi (anche loro infatti non sono cifre né lettere). Si prega di notare che alla fine c'è un '!' - in esso è stata trasformata la stringa ' @@@' - con uno spazio iniziale:

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

Di conseguenza, nella variabile verrà scritto quanto segue:

'1!12!123!Abc!'

Problemi pratici

Data la stringa:

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

Scrivi un'espressione regolare che trovi le stringhe, in cui ai lati ci sono le lettere 'a', e tra di esse una cifra.

Data la stringa:

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

Scrivi un'espressione regolare che trovi le stringhe, in cui ai lati ci sono le lettere 'a', e tra di esse un numero qualsiasi di cifre.

Data la stringa:

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

Scrivi un'espressione regolare che trovi le stringhe, in cui ai lati ci sono le lettere 'a', e tra di esse un numero qualsiasi di cifre (incluso zero cifre, cioè la stringa 'aa').

Data la stringa:

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

Scrivi un'espressione regolare che trovi le stringhe del seguente tipo: ai lati ci sono le lettere 'a' e 'b', e tra di esse - non un numero.

Data la stringa:

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

Scrivi un'espressione regolare che trovi le stringhe del seguente tipo: ai lati ci sono le lettere 'a' e 'b', e tra di esse - non una lettera e non una cifra.

Data la stringa:

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

Scrivi un'espressione regolare che sostituisca tutti gli spazi con '!'.

Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta