⊗ppPmRgOC 241 of 447 menu

Командата 'или' в регулярните изрази на PHP

В този урок ще разгледаме командата |, която представлява по-мощна версия на ИЛИ в сравнение с командата []. Тази команда позволява да разделим регулярния израз на няколко части. При това търсеното може да отговаря или на едната част от регулярния израз, или на другата. Нека разгледаме с примери.

Пример

В този пример шаблонът за търсене е: три букви 'a' или три букви 'b':

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

В резултат в променливата ще бъде записано следното:

'! ! abb'

Пример

В този пример шаблонът за търсене е: три букви 'a' или от 1 и повече букви 'b':

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

В резултат в променливата ще бъде записано следното:

'! ! ! ! axx'

Пример

В този пример шаблонът за търсене е: една или повече букви или три цифри:

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

В резултат в променливата ще бъде записано следното:

'! ! ! 1 12 !'

Пример

Вертикалната черта може да раздели регулярния израз не на две части, а на произволен брой части:

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

В резултат в променливата ще бъде записано следното:

'! ! ! ddd'

Пример

Ако вертикалната черта се намира вътре в кръгли скоби, то 'или' работи само вътре в тези скоби. За пример нека намерим низовете по следния шаблон: в началото стои или 'a', или 'b' един или повече пъти, а след това две букви 'x':

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

В резултат в променливата ще бъде записано следното:

'! ! ! exx'

Практически задачи

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

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

Напишете регулярен израз, който ще намери низовете по шаблон: по краищата стоят букви 'a', а между тях - или буква 'e' произволен брой пъти или буква 'x' произволен брой пъти.

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

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

Напишете регулярен израз, който ще намери низовете по шаблон: по краищата стоят букви 'a', а между тях - или буква 'e' два пъти или буква 'x' произволен брой пъти.

Български
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
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне