⊗ppPmRgSP 248 of 447 menu

Групи при търсене с регулярни изрази в PHP

Нека имаме някакъв низ, съдържащ домейн:

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

Нека намерим този домейн и го разделим на части: отделяме името на домейна от неговата зона. За целта ще използваме специални групи на регулярните изрази.

Групите представляват елементи от масив, в които могат да се сложат части от намереното от регулярния израз. В нашия случай в първата група можем да сложим името на домейна, а във втората - неговата зона.

Нека направим това. Първо, нека напишем регулярен израз, който намира домейна в низа:

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

Сега в нашия регулярен израз нека обозначим кои части в коя група трябва да попаднат. Това се прави с помощта на кръгли скоби. Нека оцветим с тях частта от регулярния израз, която търси името на домейна, и частта, която търси домейнната зона:

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

Сега във функцията preg_match като трети параметр ще посочим променлива (име каквото и да е):

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

В посочената променлива ще попадне масив с намерените групи. При това в нулевия елемент на масива ще лежи намереният низ, в първия елемент - първата група, във втория елемент - втората група и така нататък:

<?php preg_match($reg, $str, $res); var_dump($res); // ще изведе ['site.ru', 'site', 'ru'] ?>

Даден е низ с дата:

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

Сложете годината, месеца и деня в отделни групи.

Даден е низ с име на файл:

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

Сложете името на файла и неговото разширение в отделни групи.

Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне