Zeichenwiederholungsoperatoren

Es gibt Situationen, in denen wir angeben möchten, dass ein Zeichen eine bestimmte Anzahl von Malen wiederholt wird. Wenn wir die genaue Anzahl der Wiederholungen kennen, können wir es einfach mehrmals schreiben - #aaaa#. Aber was tun, wenn wir folgendes sagen möchten: einmal oder öfter wiederholen?

Dafür gibt es (Quantifikatoren) der Wiederholung: Plus + (einmal oder öfter), Stern * (null oder öfter) und Fragezeichen ? (null oder einmal). Diese Operatoren wirken auf das Zeichen, das vor ihnen steht.

Lassen Sie uns die Arbeit dieser Operatoren anhand von Beispielen betrachten.

Beispiel

Lassen Sie uns alle Teilzeichenketten nach dem Muster Buchstabe 'x', Buchstabe 'a' einmal oder öfter, Buchstabe 'x' finden:

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

In der Variablen wird folgendes gespeichert:

php'xx ! ! ! xbx'

Beispiel

Lassen Sie uns alle Teilzeichenketten nach dem Muster Buchstabe 'x', Buchstabe 'a' null oder öfter, Buchstabe 'x' finden:

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

In der Variablen wird folgendes gespeichert:

php'! ! ! ! xbx'

Beispiel

Lassen Sie uns alle Teilzeichenketten nach dem Muster Buchstabe 'x', Buchstabe 'a' null oder einmal, Buchstabe 'x' finden:

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

In der Variablen wird folgendes gespeichert:

php'! ! xaax xbx'

Praktische Aufgaben

Задание 1

Gegeben ist eine Zeichenkette:

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

Schreiben Sie einen regulären Ausdruck, der die Zeichenketten nach dem Muster findet: Buchstabe 'a', Buchstabe 'b' einmal oder öfter, Buchstabe 'a'.

Задание 2

Gegeben ist eine Zeichenkette:

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

Schreiben Sie einen regulären Ausdruck, der die Zeichenketten nach dem Muster findet: Buchstabe 'a', Buchstabe 'b' null oder öfter, Buchstabe 'a'.

Задание 3

Gegeben ist eine Zeichenkette:

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

Schreiben Sie einen regulären Ausdruck, der die Zeichenketten nach dem Muster findet: Buchstabe 'a', Buchstabe 'b' einmal oder keinmal, Buchstabe 'a'.

Задание 4

Gegeben ist eine Zeichenkette:

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

Schreiben Sie einen regulären Ausdruck, der die Zeichenketten 'aa', 'aba', 'abba', 'abbba' findet, ohne 'abca' und 'abea' zu erfassen.