⊗ppPmRgChG 230 of 447 menu

Grupos de caracteres en expresiones regulares de PHP

Existen comandos especiales que permiten seleccionar grupos enteros de caracteres a la vez. El comando \d significa un dígito del 0 al 9. El comando \w denota un dígito, una letra latina o el signo de subrayado. El comando \s denota un espacio o un carácter de espacio: espacio, salto de línea, tabulación. Se puede invertir el valor del comando escribiendo una letra mayúscula: por ejemplo, si \d es un dígito, entonces \D es un no-dígito.

Ejemplo

Encontremos todos los dígitos:

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

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

'! !! !!!'

Ejemplo

Los operadores de repetición consideran a los comandos-grupos como un todo, es decir, los paréntesis de agrupación no son necesarios. En el siguiente ejemplo, el patrón de búsqueda se ve así: dígito del 0 al 9 una o más veces:

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

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

'! ! ! abc @@@'

Ejemplo

En el siguiente ejemplo, el patrón de búsqueda se ve así: cualquier cosa una o más veces, pero no un dígito del 0 al 9:

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

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

'123!3!'

Ejemplo

En este ejemplo, el patrón de búsqueda se ve así: carácter de espacio una vez:

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

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

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

Ejemplo

En este ejemplo, el patrón de búsqueda se ve así: carácter NO espacio una o más veces. Todas las subcadenas, separadas por espacios, se reemplazarán por '!':

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

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

'! ! ! ! !'

Ejemplo

En este ejemplo, el patrón de búsqueda se ve así: dígito o letra una o más veces. Todas las subcadenas, que consisten en dígitos y letras, se reemplazarán por '!':

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

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

'! ! ! ! @@@'

Ejemplo

En este ejemplo, el patrón de búsqueda se ve así: NO dígito y NO letra una o más veces. Según esta definición, en nuestro caso coincide '@@@' y todos los espacios (ya que ellos también no son dígitos ni letras). Presta atención a que al final hay un '!' - en él se transformó la cadena ' @@@' - con un espacio al frente:

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

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

'1!12!123!Abc!'

Problemas prácticos

Dada la cadena:

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

Escribe una expresión regular que encuentre las cadenas en las que en los bordes hay letras 'a', y entre ellas un dígito.

Dada la cadena:

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

Escribe una expresión regular que encuentre las cadenas en las que en los bordes hay letras 'a', y entre ellas cualquier cantidad de dígitos.

Dada la cadena:

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

Escribe una expresión regular que encuentre las cadenas en las que en los bordes hay letras 'a', y entre ellas cualquier cantidad de dígitos (incluyendo cero dígitos, es decir, la cadena 'aa').

Dada la cadena:

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

Escribe una expresión regular que encuentre cadenas del siguiente tipo: en los bordes hay letras 'a' y 'b', y entre ellas - no un número.

Dada la cadena:

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

Escribe una expresión regular que encuentre cadenas del siguiente tipo: en los bordes hay letras 'a' y 'b', y entre ellas - no una letra y no un dígito.

Dada la cadena:

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

Escribe una expresión regular que reemplace todos los espacios por '!'.

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