⊗ppPmRgChG 230 of 447 menu

Grupos de caracteres em expressões regulares PHP

Existem comandos especiais que permitem selecionar grupos inteiros de caracteres de uma vez. O comando \d significa um dígito de 0 a 9. O comando \w denota um dígito, uma letra latina ou o sublinhado. O comando \s denota um espaço ou caractere de espaço em branco: espaço, quebra de linha, tabulação. É possível inverter o significado do comando, escrevendo com letra maiúscula: por exemplo, se \d é um dígito, então \D é um não dígito.

Exemplo

Vamos encontrar todos os dígitos:

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

Como resultado, o seguinte será armazenado na variável:

'! !! !!!'

Exemplo

Os operadores de repetição consideram os comandos de grupo como um todo, ou seja, parênteses de agrupamento não são necessários. No exemplo a seguir, o padrão de busca é assim: dígito de 0 a 9 uma ou mais vezes:

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

Como resultado, o seguinte será armazenado na variável:

'! ! ! abc @@@'

Exemplo

No exemplo a seguir, o padrão de busca é assim: qualquer coisa uma ou mais vezes, mas não um dígito de 0 a 9:

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

Como resultado, o seguinte será armazenado na variável:

'123!3!'

Exemplo

Neste exemplo, o padrão de busca é assim: caractere de espaço em branco uma vez:

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

Como resultado, o seguinte será armazenado na variável:

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

Exemplo

Neste exemplo, o padrão de busca é assim: caractere NÃO de espaço em branco uma ou mais vezes. Todas as substrings separadas por espaços serão substituídas por '!':

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

Como resultado, o seguinte será armazenado na variável:

'! ! ! ! !'

Exemplo

Neste exemplo, o padrão de busca é assim: dígito ou letra uma ou mais vezes. Todas as substrings consistindo de dígitos e letras serão substituídas por '!':

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

Como resultado, o seguinte será armazenado na variável:

'! ! ! ! @@@'

Exemplo

Neste exemplo, o padrão de busca é assim: NÃO dígito e NÃO letra uma ou mais vezes. Esta definição em nosso caso inclui '@@@' e todos os espaços (afinal, eles também não são dígitos nem letras). Observe que no final há um '!' - nele foi transformada a string ' @@@' - com um espaço na frente:

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

Como resultado, o seguinte será armazenado na variável:

'1!12!123!Abc!'

Tarefas práticas

Dada a string:

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

Escreva uma expressão regular que encontre as strings em que nas extremidades há letras 'a', e entre elas um único dígito.

Dada a string:

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

Escreva uma expressão regular que encontre as strings em que nas extremidades há letras 'a', e entre elas qualquer quantidade de dígitos.

Dada a string:

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

Escreva uma expressão regular que encontre as strings em que nas extremidades há letras 'a', e entre elas qualquer quantidade de dígitos (inclusive zero dígitos, ou seja, a string 'aa').

Dada a string:

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

Escreva uma expressão regular que encontre strings do seguinte tipo: nas extremidades há letras 'a' e 'b', e entre elas - não um número.

Dada a string:

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

Escreva uma expressão regular que encontre strings do seguinte tipo: nas extremidades há letras 'a' e 'b', e entre elas - não é letra e não é dígito.

Dada a string:

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

Escreva uma expressão regular que substitua todos os espaços por '!'.

Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar