⊗ppPmRgRO 224 of 447 menu

Teckenupprepningsoperatorer i reguljära uttryck

Det finns situationer då vi vill ange att ett tecken upprepas ett visst antal gånger. Om vi vet det exakta antalet repetitioner, kan vi helt enkelt skriva det flera gånger - #aaaa#. Men vad gör vi om vi vill säga så här: upprepa en eller fler gånger?

För detta finns operatorer (kvantifierare) för upprepning: plus + (en eller fler gånger), asterisk * (noll eller fler gånger) och frågetecken ? (noll eller en gång). Dessa operatorer verkar på det tecken som står före dem.

Låt oss titta på hur dessa operatorer fungerar med exempel.

Exempel

Låt oss hitta alla delsträngar enligt mönstret bokstaven 'x', bokstaven 'a' en eller fler gånger, bokstaven 'x':

<?php $str = 'xx xax xaax xaaax xbx'; $res = preg_replace('#xa+x#', '!', $str); ?>

Som ett resultat kommer följande att skrivas in i variabeln:

'xx ! ! ! xbx'

Exempel

Låt oss hitta alla delsträngar enligt mönstret bokstaven 'x', bokstaven 'a' noll eller fler gånger, bokstaven 'x':

<?php $str = 'xx xax xaax xaaax xbx'; $res = preg_replace('#xa*x#', '!', $str); ?>

Som ett resultat kommer följande att skrivas in i variabeln:

'! ! ! ! xbx'

Exempel

Låt oss hitta alla delsträngar enligt mönstret bokstaven 'x', bokstaven 'a' noll eller en gång, bokstaven 'x':

<?php $str = 'xx xax xaax xbx'; $res = preg_replace('#xa?x#', '!', $str); ?>

Som ett resultat kommer följande att skrivas in i variabeln:

'! ! xaax xbx'

Praktiska uppgifter

Given en sträng:

<?php $str = 'aa aba abba abbba abca abea'; ?>

Skriv ett reguljärt uttryck som hittar strängar enligt mönstret: bokstaven 'a', bokstaven 'b' en eller fler gånger, bokstaven 'a'.

Given en sträng:

<?php $str = 'aa aba abba abbba abca abea'; ?>

Skriv ett reguljärt uttryck som hittar strängar enligt mönstret: bokstaven 'a', bokstaven 'b' noll eller fler gånger, bokstaven 'a'.

Given en sträng:

<?php $str = 'aa aba abba abbba abca abea'; ?>

Skriv ett reguljärt uttryck som hittar strängar enligt mönstret: bokstaven 'a', bokstaven 'b' en gång eller ingång, bokstaven 'a'.

Given en sträng:

<?php $str = 'aa aba abba abbba abca abea'; ?>

Skriv ett reguljärt uttryck som hittar strängarna 'aa', 'aba', 'abba', 'abbba', utan att fånga 'abca' och 'abea'.

msenptrouzl