⊗ppPmRgSP 248 of 447 menu

Capturas em buscas com expressões regulares no PHP

Suponha que temos uma string contendo um domínio:

<?php $str = 'eee site.ru bbb'; ?>

Vamos encontrar este domínio e dividi-lo em partes: separar o nome do domínio de sua zona. Para isso, usaremos capturas especiais de expressões regulares.

As capturas representam elementos de um array, nos quais podemos colocar partes encontradas pela regex. No nosso caso, na primeira captura podemos colocar o nome do domínio, e na segunda - sua zona.

Vamos fazer isso. Primeiro, vamos escrever uma regex que encontra o domínio na string:

<?php $reg = '#[a-z0-9_-]+\.[a-z]{2,}#'; ?>

Agora, na nossa regex, vamos designar quais partes devem ir para qual captura. Isso é feito usando parênteses. Vamos isolar com eles a parte da regex que encontra o nome do domínio e a parte que encontra a zona do domínio:

<?php $reg = '#([a-z0-9_-]+)\.([a-z]{2,})#'; ?>

Agora, na função preg_match, como terceiro parâmetro, vamos especificar uma variável (qualquer nome):

<?php preg_match($reg, $str, $res); ?>

A variável especificada conterá um array com as capturas encontradas. Ao mesmo tempo, no elemento zero do array estar a string encontrada, no primeiro elemento - a primeira captura, no segundo elemento - a segunda captura e assim por diante:

<?php preg_match($reg, $str, $res); var_dump($res); // exibirá ['site.ru', 'site', 'ru'] ?>

Dada uma string com uma data:

<?php $str = '2025-12-31'; ?>

Coloque o ano, mês e dia em capturas separadas.

Dada uma string com um nome de arquivo:

<?php $str = 'index.html'; ?>

Coloque o nome do arquivo e sua extensão em capturas separadas.

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