⊗ppPmRgNPB 252 of 447 menu

Ҷузъҳои ғайринигоҳдории дар regex-и PHP

Қавсҳои () ду вазифаро иҷро мекунанд - гурӯҳбандии аломатҳо ва вазифаи карман. Ва чӣ кунед, агар ба мо гурӯҳбандӣ лозим бошад, вале ба карман нагузорем? Барои ҳалли чунин мушкилиёт ҷузъҳои махсус ғайринигоҳдор (?: ) пешбинӣ шудаанд - онҳо гурӯҳбандӣ мекунанд, вале ба карман намегузоранд.

Намуна

Дар намунаи зерин қавсҳои аввал барои мо заруранд барои гурӯҳбандӣ, ва қавсҳои дуюм - барои карман. Аммо, ҳам онҳо ва ҳам инҳо қавсҳо маълумотро дар карман нигоҳ медоранд:

<?php $str = 'abab123'; $reg = '#(ab)+([1-9]+)#'; preg_match_all($reg, $str, $res); ?>

Дар натиҷа дар карманҳои мо чизҳои зерин хоҳад буд:

<?php var_dump($res[0]); // 'abab123'-ро бармеоварад var_dump($res[1]); // 'ab'-ро бармеоварад var_dump($res[2]); // '123'-ро бармеоварад ?>

Намуна

Биёед тоҷриба кунем, ки ҷуфти аввали қавсҳо фақат гурӯҳбандӣ кунанд, вале ба карман нагузоранд:

<?php $str = 'abab123'; $reg = '#(?:ab)+([1-9]+)#'; preg_match_all($reg, $str, $res); ?>

Дар натиҷа дар кармани аввал рақами мо хоҳад буд:

<?php var_dump($res[1]); // '123'-ро бармеоварад ?>

Масъалаҳои амалӣ

Зерсатрҳои додашуда, ки ба ду қисм тақсим шудаанд бо миқдори ихтиёрии ҷуфтҳои $@:

<?php $str = 'aaa$@bbb aaa$@$@bbb aaa$@$@$@bbb'; ?>

Ҳар яке аз чунин зерсатрҳоро ёбед ва барои ҳар як зерсатри ёфташуда дар кармани аввал чизеро, ки пеш аз ҷудокунанда истодааст, ва дар кармани дуюм - чизеро, ки баъд аз ҷудокунанда истодааст, гузоред.

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