Karakter Herhaal Operateurs in Regulêre Uitdrukkings
Daar is situasies waar ons wil aandui
dat 'n karakter 'n gegewe aantal keer
herhaal word. As ons die presiese aantal herhalings ken,
kan ons dit net 'n paar keer skryf
- #aaaa#. Maar wat om te doen as ons wil
sê so iets: herhaal een of meer
keer?
Hiervoor bestaan daar (kwantifiseerders)
herhaling operateurs: plus + (een of meer keer),
sterretjie * (nul of meer keer) en
vraagteken ? (nul of een keer). Hierdie
operateurs werk op die karakter wat
voor hulle staan.
Kom ons kyk na die werking van hierdie operateurs met voorbeelde.
Voorbeeld
Laat ons alle substrings vind volgens die patroon letter
'x', letter 'a' een of meer
keer, letter 'x':
<?php
$str = 'xx xax xaax xaaax xbx';
$res = preg_replace('#xa+x#', '!', $str);
?>
As gevolg sal die volgende in die veranderlike weggeskryf word:
'xx ! ! ! xbx'
Voorbeeld
Laat ons alle substrings vind volgens die patroon letter
'x', letter 'a' nul of meer
keer, letter 'x':
<?php
$str = 'xx xax xaax xaaax xbx';
$res = preg_replace('#xa*x#', '!', $str);
?>
As gevolg sal die volgende in die veranderlike weggeskryf word:
'! ! ! ! xbx'
Voorbeeld
Laat ons alle substrings vind volgens die patroon letter
'x', letter 'a' nul of een
keer, letter 'x':
<?php
$str = 'xx xax xaax xbx';
$res = preg_replace('#xa?x#', '!', $str);
?>
As gevolg sal die volgende in die veranderlike weggeskryf word:
'! ! xaax xbx'
Praktiese Take
Gegewe 'n string:
<?php
$str = 'aa aba abba abbba abca abea';
?>
Skryf 'n regulêre uitdrukking wat die strings sal vind
volgens die patroon: letter 'a', letter 'b'
een of meer keer, letter 'a'.
Gegewe 'n string:
<?php
$str = 'aa aba abba abbba abca abea';
?>
Skryf 'n regulêre uitdrukking wat die strings sal vind
volgens die patroon: letter 'a', letter 'b'
nul of meer keer, letter 'a'.
Gegewe 'n string:
<?php
$str = 'aa aba abba abbba abca abea';
?>
Skryf 'n regulêre uitdrukking wat die strings sal vind
volgens die patroon: letter 'a', letter 'b'
een keer of geen, letter 'a'.
Gegewe 'n string:
<?php
$str = 'aa aba abba abbba abca abea';
?>
Skryf 'n regulêre uitdrukking wat die strings sal vind
'aa', 'aba', 'abba',
'abbba', sonder om 'abca'
en 'abea' te vang.