⊗ppPmRgGL 229 of 447 menu

Маҳдуд кардани ҳарисӣ дар ибораҳоӣ мунтазам дар PHP

Ибораҳои мунтазам ба таври пешфарз ҳарис мебошанд. Ин маънои онро дорад, ки онҳо ҳадди аксар шумораи имконпазири аломатҳоро мегиранд.

Биёед бо мисол таҳлил кунем. Фарз кунем, ки мо ин қаторро дорем:

<?php $str = 'aeeex zzz x kkk'; ?>

Фарз кунем, ки мо дар ин қатор мехоҳем зерқаторро ёбем 'aeeex' бо шаблони зерин: ҳарф 'a', сипас ягон аломат як ё зиёда маротиба, пас ҳарф 'x'.

<?php $res = preg_replace('#a.+x#', '!', $str); ?>

Мо интизорӣ дорем, ки дар натиҷа тағирёбанда қатор '! zzz x kkk' сабт хоҳад шуд. Аммо, ин чунин нест - ба тағирёбанда қатор '! kkk' меафтад.

Ҳамааш ба он аст, ки ибораи мунтазами мо ҳамаи аломатҳоро аз ҳарфи 'a' то ҳарфи 'x' меҷӯяд. Аммо дар қатори мо ду ҳарфи 'x' мавҷуд аст. Аз сабаби ҳарисӣ маълум мешавад, ки ибораи мунтазам то ҳарфи охирини x ҷустуҷӯ мекунад, ҳамин тавр он чизеро мегирад, ки мо интизор набудем.

Албатта, аксар вақт чунин рафтор ба мо лозим аст. Вале маҳз дар ин ҳолат мо мехостем ҳарисӣ бекор карда, ба ибораи мунтазам гуфтанӣ, ки то ҳарфи якуми x ҷустуҷӯ кунад.

Барои маҳдуд кардани ҳарисӣ, бояд пас аз оператори такрор аломати савол гузошт:

<?php $res = preg_replace('#a.+?x#', '!', $str); ?>

Ҳарисӣ ба ҳамаи операторҳои такрор маҳдуд кардан мумкин аст, чунон ки: *?, ?? ва {}?.

Қатор дода шудааст:

<?php $str = 'aba accca azzza wwwwa'; ?>

Ибораи мунтазаме нависед, ки ҳамаи қаторҳоро меёбад, ки дар канораҳояшон ҳарфҳои 'a' истодаанд, ва ҳар яке аз онҳоро ба '!' иваз мекунад. Байни ҳарфҳои a ягон аломат (ҷуз 'a') метавонад бошад.

Тоҷикӣ
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
Мо барои коркарди сомона, таҳлил ва шахсӣ кардан аз cookie истифода мебарем. Коркарди маълумот мувофиқи Сиёсати махфият сурат мегирад.
ҳамаро қабул кардан танзим кардан рад кардан