АКЦЫЯ: бясплатныя месячныя курсы па стварэнні сайтаў
на выбар: вёрстка, JavaScript, PHP, Python або фрэймворкі. Сёння апошні дзень для запісу! Націскай!
⊗ppPmRgENP 256 of 447 menu

Іменаваныя карманы ўнутры рэгуляркі PHP

Успомнім, як мы карысталіся карманамі ў самай рэгулярнай выразе:

<?php $res = preg_replace('#([a-z])\1#', '!', $str); ?>

Часам бываюць сітуацыі, калі зручней звяртацца да кармана не па яго нумары, а па імі. Для гэтага нам трэба даць карману імя:

<?php $res = preg_replace('#(?<letter>[a-z])#', '!', $str); ?>

Цяпер мы можам звярнуцца да гэтага кармана праз сінтаксіс \k<name>, вось так:

<?php $res = preg_replace('#(?<letter>[a-z])\k<letter>#', '!', $str); ?>

Апісаныя іменаваныя карманы маюць яшчэ некалькі альтэрнатыўных сінтаксісаў: (?P=name), \k'name', \k{name}.

Дадзены радок:

<?php $str = '12:59:59 12:59:12 09:45:09'; ?>

Знайдзіце ўсе падрадкі з часам, у якіх гадзіна супадае з секундамі.

byenru