⊗ppPmRgOC 241 of 447 menu

Il comando 'o' nelle espressioni regolari di PHP

In questa lezione analizzeremo il comando |, che rappresenta una versione più potente di O rispetto al comando []. Questo comando permette di dividere l'espressione regolare in più parti. In questo caso, la corrispondenza può rientrare in una parte dell'espressione regolare o in un'altra. Vediamo con degli esempi.

Esempio

In questo esempio il modello di ricerca è: tre lettere 'a' o tre lettere 'b':

<?php $str = 'aaa bbb abb'; $res = preg_replace('#a{3}|b{3}#', '!', $str); ?>

Di conseguenza, nella variabile verrà memorizzato quanto segue:

'! ! abb'

Esempio

In questo esempio il modello di ricerca è: tre lettere 'a' o da 1 a più lettere 'b':

<?php $str = 'aaa bbb bbbb bbbbb axx'; $res = preg_replace('#a{3}|b+#', '!', $str); ?>

Di conseguenza, nella variabile verrà memorizzato quanto segue:

'! ! ! ! axx'

Esempio

In questo esempio il modello di ricerca è: una o più lettere o tre cifre:

<?php $str = 'a ab abc 1 12 123'; $res = preg_replace('#[a-z]+|\d{3}#', '!', $str); ?>

Di conseguenza, nella variabile verrà memorizzato quanto segue:

'! ! ! 1 12 !'

Esempio

Il carattere verticale può dividere l'espressione regolare non in due parti, ma in un numero qualsiasi di parti:

<?php $str = 'aaa bbb ccc ddd'; $res = preg_replace('#a+|b+|c+#', '!', $str); ?>

Di conseguenza, nella variabile verrà memorizzato quanto segue:

'! ! ! ddd'

Esempio

Se il carattere verticale si trova all'interno di parentesi tonde, allora 'o' funziona solo all'interno di queste parentesi. Ad esempio, cerchiamo le stringhe secondo il seguente modello: all'inizio c'è o 'a', o 'b' una o più volte, e poi due lettere 'x':

<?php $str = 'axx bxx bbxx exx'; $res = preg_replace('#(a|b+)xx#', '!', $str); ?>

Di conseguenza, nella variabile verrà memorizzato quanto segue:

'! ! ! exx'

Problemi pratici

Data una stringa:

<?php $str = 'aeeea aeea aea axa axxa axxxa'; ?>

Scrivi un'espressione regolare che trovi le stringhe secondo il modello: ai lati ci sono le lettere 'a', e tra di loro - o la lettera 'e' un numero qualsiasi di volte o la lettera 'x' un numero qualsiasi di volte.

Data una stringa:

<?php $str = 'aeeea aeea aea axa axxa axxxa'; ?>

Scrivi un'espressione regolare che trovi le stringhe secondo il modello: ai lati ci sono le lettere 'a', e tra di loro - o la lettera 'e' due volte o la lettera 'x' un numero qualsiasi di volte.

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