Perintah 'ATAU' dalam Ungkapan Biasa PHP
Dalam pelajaran ini, kita akan menganalisis perintah
|, yang mewakili
varian ATAU yang lebih
berkuasa berbanding dengan
perintah []. Perintah ini membolehkan
ungkapan biasa dibahagikan kepada beberapa bahagian.
Pada masa yang sama, yang dicari boleh sama ada sesuai dengan satu
bahagian ungkapan biasa, atau bahagian yang lain. Mari kita
lihat contohnya.
Contoh
Dalam contoh ini, corak carian adalah seperti berikut: tiga
huruf 'a' atau tiga huruf 'b':
<?php
$str = 'aaa bbb abb';
$res = preg_replace('#a{3}|b{3}#', '!', $str);
?>
Hasilnya, perkara berikut akan direkodkan ke dalam pembolehubah:
'! ! abb'
Contoh
Dalam contoh ini, corak carian adalah seperti berikut: tiga
huruf 'a' atau dari 1 dan lebih
huruf 'b':
<?php
$str = 'aaa bbb bbbb bbbbb axx';
$res = preg_replace('#a{3}|b+#', '!', $str);
?>
Hasilnya, perkara berikut akan direkodkan ke dalam pembolehubah:
'! ! ! ! axx'
Contoh
Dalam contoh ini, corak carian adalah seperti berikut: satu atau lebih huruf atau tiga digit:
<?php
$str = 'a ab abc 1 12 123';
$res = preg_replace('#[a-z]+|\d{3}#', '!', $str);
?>
Hasilnya, perkara berikut akan direkodkan ke dalam pembolehubah:
'! ! ! 1 12 !'
Contoh
Palang menegak boleh membahagikan ungkapan biasa bukan kepada dua bahagian, tetapi kepada sebarang bilangan bahagian:
<?php
$str = 'aaa bbb ccc ddd';
$res = preg_replace('#a+|b+|c+#', '!', $str);
?>
Hasilnya, perkara berikut akan direkodkan ke dalam pembolehubah:
'! ! ! ddd'
Contoh
Jika palang menegak berada di dalam kurungan bulat,
maka 'ATAU' hanya berfungsi di dalam
kurungan tersebut. Sebagai contoh, mari cari rentetan
mengikut corak berikut: pada permulaannya sama ada
'a', atau 'b' satu atau lebih
kali, dan kemudian dua huruf 'x':
<?php
$str = 'axx bxx bbxx exx';
$res = preg_replace('#(a|b+)xx#', '!', $str);
?>
Hasilnya, perkara berikut akan direkodkan ke dalam pembolehubah:
'! ! ! exx'
Tugas Praktikal
Diberikan rentetan:
<?php
$str = 'aeeea aeea aea axa axxa axxxa';
?>
Tulis ungkapan biasa yang akan mencari rentetan
mengikut corak: di tepinya terdapat huruf 'a',
dan di antaranya - sama ada huruf 'e' sebarang
bilangan kali atau huruf 'x' sebarang
bilangan kali.
Diberikan rentetan:
<?php
$str = 'aeeea aeea aea axa axxa axxxa';
?>
Tulis ungkapan biasa yang akan mencari rentetan
mengikut corak: di tepinya terdapat huruf 'a',
dan di antaranya - sama ada huruf 'e' dua kali
atau huruf 'x' sebarang bilangan kali.