Kurung Kurawal dalam Ekspresi Reguler PHP

Operator +, *, ? bagus, namun, dengan mereka tidak mungkin untuk menentukan jumlah pengulangan yang spesifik. Dalam hal ini, Anda akan dibantu oleh operator {}.

Cara kerjanya sebagai berikut: {5} - lima pengulangan, {2,5} - diulang dari dua hingga lima (keduanya inklusif), {2,} - diulang dua kali atau lebih.

Contoh

Dalam contoh ini, pola pencarian terlihat seperti ini: huruf 'x', huruf 'a' satu atau dua kali, huruf 'x':

php<?php
  $str = 'xx xax xaax xaaax';
  $res = preg_replace('#xa{1,2}x#', '!', $str);
?>

Hasilnya, yang akan tersimpan dalam variabel adalah sebagai berikut:

php'xx ! ! xaaax'

Contoh

Dalam contoh ini, pola pencarian terlihat seperti ini: huruf 'x', huruf 'a' dua kali atau lebih, huruf 'x':

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

Hasilnya, yang akan tersimpan dalam variabel adalah sebagai berikut:

php'xx xax ! !'

Contoh

Dalam contoh ini, pola pencarian terlihat seperti ini: huruf 'x', huruf 'a' tiga kali, huruf 'x':

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

Hasilnya, yang akan tersimpan dalam variabel adalah sebagai berikut:

php'xx xax xaax !'

Contoh

Dalam contoh ini, pola pencarian terlihat seperti ini: huruf 'a' sepuluh kali:

php<?php
  $str = 'aaa aaaaaaaaaa aaa';
  $res = preg_replace('#a{10}#', '!', $str);
?>

Hasilnya, yang akan tersimpan dalam variabel adalah sebagai berikut:

php'aaa ! aaa'

Contoh

Dalam contoh ini, penulis kode menginginkan pola seperti ini: huruf 'x', huruf 'a' tiga kali kali atau kurang, huruf 'x', tetapi, sayangnya, ini - {,3} - tidak bekerja. Perlu ditentukan secara eksplisit:

php<?php
  $str = 'xx xax xaax xaaax';
  $res = preg_replace('#xa{1,3}x#', '!', $str);
?>

Hasilnya, yang akan tersimpan dalam variabel adalah sebagai berikut:

php'xx ! ! !'

Contoh

Nol juga diperbolehkan:

php<?php
  $str = 'xx xax xaax xaaax';
  $res = preg_replace('#xa{0,3}x#', '!', $str);
?>

Hasilnya, yang akan tersimpan dalam variabel adalah sebagai berikut:

php'! ! ! !'

Tugas Praktis

Задание 1

Diberikan string:

php<?php
  $str = 'aa aba abba abbba abbbba abbbbba';
?>

Tuliskan ekspresi reguler yang akan menemukan string 'abba', 'abbba', 'abbbba' dan hanya mereka.

Задание 2

Diberikan string:

php<?php
  $str = 'aa aba abba abbba abbbba abbbbba';
?>

Tuliskan ekspresi reguler yang akan menemukan string berbentuk 'aba', di mana 'b' muncul kurang dari tiga kali (inklusif).

Задание 3

Diberikan string:

php<?php
  $str = 'aa aba abba abbba abbbba abbbbba';
?>

Tuliskan ekspresi reguler yang akan menemukan string berbentuk 'aba', di mana 'b' muncul lebih dari empat kali (inklusif).