Tanda Kurung Kerinting Dalam Ungkapan Biasa PHP

Pengoperasi +, *, ? adalah bagus, namun, dengan bantuan mereka, bilangan ulangan spesifik tidak boleh ditentukan. Dalam kes ini, pengoperasi {} akan membantu anda.

Ia berfungsi seperti berikut: {5} - lima ulangan, {2,5} - diulang daripada dua hingga lima (kedua-duanya termasuk), {2,} - diulang dua kali atau lebih.

Contoh

Dalam contoh ini, corak carian kelihatan 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, perkara berikut akan direkodkan ke dalam pembolehubah:

php'xx ! ! xaaax'

Contoh

Dalam contoh ini, corak carian kelihatan 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, perkara berikut akan direkodkan ke dalam pembolehubah:

php'xx xax ! !'

Contoh

Dalam contoh ini, corak carian kelihatan 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, perkara berikut akan direkodkan ke dalam pembolehubah:

php'xx xax xaax !'

Contoh

Dalam contoh ini, corak carian kelihatan seperti ini: huruf 'a' sepuluh kali:

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

Hasilnya, perkara berikut akan direkodkan ke dalam pembolehubah:

php'aaa ! aaa'

Contoh

Dalam contoh ini, penulis kod mahukan corak sedemikian: huruf 'x', huruf 'a' tiga kali dan kurang, huruf 'x', namun, malangnya, ini - {,3} - tidak berfungsi. Perlu dinyatakan dengan jelas:

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

Hasilnya, perkara berikut akan direkodkan ke dalam pembolehubah:

php'xx ! ! !'

Contoh

Sifar juga dibenarkan:

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

Hasilnya, perkara berikut akan direkodkan ke dalam pembolehubah:

php'! ! ! !'

Masalah Praktikal

Задание 1

Diberi rentetan:

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

Tulis ungkapan biasa yang akan mencari rentetan 'abba', 'abbba', 'abbbba' dan hanya mereka.

Задание 2

Diberi rentetan:

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

Tulis ungkapan biasa yang akan mencari rentetan jenis 'aba', di mana 'b' berlaku kurang daripada tiga kali (termasuk).

Задание 3

Diberi rentetan:

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

Tulis ungkapan biasa yang akan mencari rentetan jenis 'aba', di mana 'b' berlaku lebih daripada empat kali (termasuk).