⊗ppPmRgEP 254 of 447 menu

Sakke in gereelde uitdrukking in PHP

Die inhoud van sakke is nie net beskikbaar in die vervangingsstring nie, maar ook in die gereelde uitdrukking self: ons kan iets in 'n sak plaas, en dan reguit in die gereelde uitdrukking sê dat die inhoud van daardie sak hier moet wees.

Die inhoud van sakke is beskikbaar volgens hul nommers, met 'n backslash voor hulle. Byvoorbeeld, die nulde sak sal so beskikbaar wees: \0, die eerste sak so - \1, die tweede - \2 en so aan.

Ek is seker dat alles hierbo geskryf vir jou nog baie vaag is. Dit is nie verbasend nie, aangesien sakke die mees onverstaanbare deel van gereelde uitdrukkings is. Kom ons verduidelik met voorbeelde.

Voorbeeld

Laat ons 'n string soos hierdie hê:

<?php $str = 'aa bb cd ef'; ?>

Kom ons vind daarin alle plekke waar twee enige soortgelyke letters agtermekaar is. Om die probleem op te los, sal ons enige letter soek, dit in 'n sak plaas, en dan toets of die volgende simbool die inhoud van daardie sak is:

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

As gevolg sal die volgende in die veranderlike weggeskryf word:

'! ! cd ef'

Voorbeeld

Laat ons 'n string soos hierdie hê:

<?php $str = 'asxca buzxb csgd'; ?>

Kom ons vind daarin alle woorde waarvan die eerste en laaste letters dieselfde is. Om die probleem op te los, skryf ons die volgende patroon: letter, dan een of meer letters, en dan dieselfde letter as die eerste:

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

As gevolg sal die volgende in die veranderlike weggeskryf word:

'! ! csgd'

Voorbeeld

In plaas van \1 kan jy \g1 skryf:

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

Voorbeeld

Jy kan ook \g{1} skryf:

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

Voorbeeld

In krulhakies kan jy negatiewe getalle specifiseer. In hierdie geval sal sakke getel word van die einde af:

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

Praktiese take

Gegee 'n string:

<?php $str = 'aaa bbb ccc xyz'; ?>

Vind alle substrings waarin daar drie soortgelyke letters agtermekaar is.

Gegee 'n string:

<?php $str = 'a aa aaa abab bbbb'; ?>

Vind alle substrings waarin daar twee of meer soortgelyke letters agtermekaar is.

Gegee 'n string:

<?php $str = 'aaa aaa bbb bbb ccc ddd'; ?>

Vind alle substrings waarin daar twee soortgelyke woorde agtermekaar is.

Afrikaans
Azə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
Ons gebruik koekies vir die werking van die webwerf, ontleding en personalisering. Die verwerking van data geskied volgens die Privaatheidsbeleid.
aanvaar alles instel verwerp