⊗ppPmRgOC 241 of 447 menu

El comando 'o' en expresiones regulares de PHP

En esta lección analizaremos el comando |, que representa una variante más poderosa de O en comparación con el comando []. Este comando permite dividir la expresión regular en varias partes. Con ello, lo buscado puede encajar en una parte de la expresión regular o en otra. Veamos algunos ejemplos.

Ejemplo

En este ejemplo, el patrón de búsqueda es: tres letras 'a' o tres letras 'b':

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

Como resultado, en la variable se guardará lo siguiente:

'! ! abb'

Ejemplo

En este ejemplo, el patrón de búsqueda es: tres letras 'a' o desde 1 o más letras 'b':

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

Como resultado, en la variable se guardará lo siguiente:

'! ! ! ! axx'

Ejemplo

En este ejemplo, el patrón de búsqueda es: una o más letras o tres dígitos:

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

Como resultado, en la variable se guardará lo siguiente:

'! ! ! 1 12 !'

Ejemplo

La barra vertical puede dividir la expresión regular no en dos partes, sino en cualquier cantidad de partes:

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

Como resultado, en la variable se guardará lo siguiente:

'! ! ! ddd'

Ejemplo

Si la barra vertical está dentro de paréntesis, entonces 'o' funciona solo dentro de esos paréntesis. Como ejemplo, busquemos cadenas según el siguiente patrón: al inicio hay 'a', o 'b' una o más veces, y luego dos letras 'x':

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

Como resultado, en la variable se guardará lo siguiente:

'! ! ! exx'

Tareas prácticas

Tenemos una cadena:

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

Escriba una expresión regular que encuentre las cadenas según el patrón: en los extremos hay letras 'a', y entre ellas - o la letra 'e' cualquier cantidad de veces o la letra 'x' cualquier cantidad de veces.

Tenemos una cadena:

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

Escriba una expresión regular que encuentre las cadenas según el patrón: en los extremos hay letras 'a', y entre ellas - o la letra 'e' dos veces o la letra 'x' cualquier cantidad de veces.

Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar