Set Aksara dalam Ungkapan Biasa PHP
Kumpulan aksara \d dan \w tidak
sangat fleksibel. Malah tugas mudah seperti
mencari semua huruf, tetapi bukan digit -
tidak dapat diselesaikan dengannya. Untuk tugas sedemikian,
gunakan kurungan siku, yang mewakili
operasi ATAU.
Kurungan siku menggantikan satu aksara,
mana-mana yang disenaraikan di dalamnya. Sebagai contoh,
seperti ini: #x[abc]x# - kita mengatakan bahawa
di tepi mesti ada huruf x, dan di dalam
- satu aksara: sama ada 'a', atau 'b',
atau 'c'.
Selepas kurungan siku, operator pengulangan
boleh ditulis. Sebagai contoh, seperti ini: #x[abc]+x#
- kita mengatakan bahawa di dalam x boleh ada
sebarang bilangan aksara 'a', 'b'
dan 'c' - dalam sebarang kombinasi.
Anda bukan sahaja boleh menyenaraikan aksara, tetapi juga mencipta
kelompok aksara dengan menulis antara dua aksara
sempang. Sebagai contoh, seperti ini: #[a-d]#
- kita mendapat semua aksara dari 'a' hingga
'd'.
Mari lihat contoh.
Contoh
Dalam contoh ini, corak carian kelihatan seperti ini:
antara x sebarang huruf dari 'a'
hingga 'z':
<?php
$str = 'xax xbx xcx x@x';
$res = preg_replace('#x[a-z]x#', '!', $str);
?>
Hasilnya, yang berikut akan ditulis ke dalam pembolehubah:
'! ! ! x@x'
Contoh
Dalam contoh ini, corak carian kelihatan seperti ini:
antara x sebarang huruf dari 'a'
hingga 'k':
<?php
$str = 'xax xbx xmx x@x';
$res = preg_replace('#x[a-k]x#', '!', $str);
?>
Hasilnya, yang berikut akan ditulis ke dalam pembolehubah:
'! ! xmx x@x'
Contoh
Dalam contoh ini, corak carian kelihatan seperti ini:
antara x sebarang huruf dari 'A'
hingga 'Z':
<?php
$str = 'xax xBx xcx x@x';
$res = preg_replace('#x[A-Z]x#', '!', $str);
?>
Hasilnya, yang berikut akan ditulis ke dalam pembolehubah:
'xax ! xcx x@x'
Contoh
Dalam contoh ini, corak carian kelihatan seperti ini:
antara x sebarang digit dari 0 hingga 9:
<?php
$str = 'xax x1x x3x x5x x@x';
$res = preg_replace('#x[0-9]x#', '!', $str);
?>
Hasilnya, yang berikut akan ditulis ke dalam pembolehubah:
'xax ! ! ! x@x'
Contoh
Dalam contoh ini, corak carian kelihatan seperti ini:
antara x sebarang digit dari 3 hingga 7:
<?php
$str = 'xax x1x x3x x5x x@x';
$res = preg_replace('#x[3-7]x#', '!', $str);
?>
Hasilnya, yang berikut akan ditulis ke dalam pembolehubah:
'xax x1x ! ! x@x'
Contoh
Dalam contoh ini, corak carian kelihatan seperti ini:
antara x sebarang huruf dari 'a'
hingga 'z' atau digit dari 1 hingga 9:
<?php
$str = 'xax x1x x3x x5x x@x';
$res = preg_replace('#x[a-z1-9]x#', '!', $str);
?>
Hasilnya, yang berikut akan ditulis ke dalam pembolehubah:
'! ! ! ! x@x'
Contoh
Dalam contoh ini, corak carian kelihatan seperti ini:
antara x sebarang huruf dari 'a'
hingga 'z' atau huruf dari 'A' hingga
'Z':
<?php
$str = 'xax xBx xcx x5x x@x';
$res = preg_replace('#x[a-zA-Z]x#', '!', $str);
?>
Hasilnya, yang berikut akan ditulis ke dalam pembolehubah:
'! ! ! x5x x@x'
Contoh
Dalam contoh ini, corak carian kelihatan seperti ini:
antara x sebarang huruf dari 'a'
hingga 'z' atau digit 1, 2:
<?php
$str = 'xax xbx x1x x2x x3x';
$res = preg_replace('#x[a-z12]x#', '!', $str);
?>
Hasilnya, yang berikut akan ditulis ke dalam pembolehubah:
'! ! ! ! x3x'
Contoh
Dalam contoh ini, corak carian kelihatan seperti ini:
antara x huruf dari 'a' hingga 'z'
dalam kuantiti dari 1 dan lebih:
<?php
$str = 'xx xabesx xaadx x123x xa3x';
$res = preg_replace('#x[a-z]+x#', '!', $str);
?>
Hasilnya, yang berikut akan ditulis ke dalam pembolehubah:
'xx ! ! ! x123x xa3x'
Contoh
Mari buat supaya bilangan huruf boleh menjadi sifar:
<?php
$str = 'xx xabesx xaadx x123x xa3x';
$res = preg_replace('#x[a-z]*x#', '!', $str);
?>
Hasilnya, yang berikut akan ditulis ke dalam pembolehubah:
'! ! ! x123x xa3x'
Tugas Praktikal
Diberikan rentetan:
<?php
$str = 'aba aea aca aza axa';
?>
Tulis ungkapan biasa yang akan mencari mengikut corak
berikut: di tepi terdapat huruf 'a',
dan di antaranya - huruf 'b', 'e'
atau 'x'.
Diberikan rentetan:
<?php
$str = 'a1a a3a a7a a9a aba';
?>
Tulis ungkapan biasa yang akan mencari mengikut corak
berikut: di tepi terdapat huruf 'a',
dan di antaranya - digit dari 3 hingga 6.
Diberikan rentetan:
<?php
$str = 'aba aea afa aha aga';
?>
Tulis ungkapan biasa yang akan mencari mengikut corak
berikut: di tepi terdapat huruf 'a',
dan di antaranya - huruf dari a hingga g.
Diberikan rentetan:
<?php
$str = 'aba aea afa aha aga';
?>
Tulis ungkapan biasa yang akan mencari mengikut corak
berikut: di tepi terdapat huruf 'a',
dan di antaranya - huruf dari a hingga f dan dari j hingga z.
Diberikan rentetan:
<?php
$str = 'aAa aea aEa aJa a3a';
?>
Tulis ungkapan biasa yang akan mencari mengikut corak
berikut: di tepi terdapat huruf 'a',
dan di antaranya - huruf dari a hingga f dan dari A hingga D.
Diberikan rentetan:
<?php
$str = 'aAXa aeffa aGha aza ax23a a3sSa';
?>
Tulis ungkapan biasa yang akan mencari mengikut corak
berikut: di tepi terdapat huruf 'a',
dan di antaranya - huruf Latin kecil,
tanpa menyentuh yang lain.
Diberikan rentetan:
<?php
$str = 'aAXa aeffa aGha aza ax23a a3sSa';
?>
Tulis ungkapan biasa yang akan mencari mengikut corak
berikut: di tepi terdapat huruf 'a',
dan di antaranya - huruf Latin kecil dan besar, tanpa menyentuh yang lain.
Diberikan rentetan:
<?php
$str = 'aAXa aeffa aGha aza ax23a a3sSa';
?>
Tulis ungkapan biasa yang akan mencari mengikut corak
berikut: di tepi terdapat huruf 'a',
dan di antaranya - huruf Latin kecil dan digit, tanpa menyentuh yang lain.