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<?php
  $str = 'xax xbx xcx x@x';
  $res = preg_replace('#x[a-z]x#', '!', $str);
?>

Hasilnya, yang berikut akan ditulis ke dalam pembolehubah:

php'! ! ! x@x'

Contoh

Dalam contoh ini, corak carian kelihatan seperti ini: antara x sebarang huruf dari 'a' hingga 'k':

php<?php
  $str = 'xax xbx xmx x@x';
  $res = preg_replace('#x[a-k]x#', '!', $str);
?>

Hasilnya, yang berikut akan ditulis ke dalam pembolehubah:

php'! ! xmx x@x'

Contoh

Dalam contoh ini, corak carian kelihatan seperti ini: antara x sebarang huruf dari 'A' hingga 'Z':

php<?php
  $str = 'xax xBx xcx x@x';
  $res = preg_replace('#x[A-Z]x#', '!', $str);
?>

Hasilnya, yang berikut akan ditulis ke dalam pembolehubah:

php'xax ! xcx x@x'

Contoh

Dalam contoh ini, corak carian kelihatan seperti ini: antara x sebarang digit dari 0 hingga 9:

php<?php
  $str = 'xax x1x x3x x5x x@x';
  $res = preg_replace('#x[0-9]x#', '!', $str);
?>

Hasilnya, yang berikut akan ditulis ke dalam pembolehubah:

php'xax ! ! ! x@x'

Contoh

Dalam contoh ini, corak carian kelihatan seperti ini: antara x sebarang digit dari 3 hingga 7:

php<?php
  $str = 'xax x1x x3x x5x x@x';
  $res = preg_replace('#x[3-7]x#', '!', $str);
?>

Hasilnya, yang berikut akan ditulis ke dalam pembolehubah:

php'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<?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:

php'! ! ! ! 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<?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:

php'! ! ! 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<?php
  $str = 'xax xbx x1x x2x x3x';
  $res = preg_replace('#x[a-z12]x#', '!', $str);
?>

Hasilnya, yang berikut akan ditulis ke dalam pembolehubah:

php'! ! ! ! x3x'

Contoh

Dalam contoh ini, corak carian kelihatan seperti ini: antara x huruf dari 'a' hingga 'z' dalam kuantiti dari 1 dan lebih:

php<?php
  $str = 'xx xabesx xaadx x123x xa3x';
  $res = preg_replace('#x[a-z]+x#', '!', $str);
?>

Hasilnya, yang berikut akan ditulis ke dalam pembolehubah:

php'xx ! ! ! x123x xa3x'

Contoh

Mari buat supaya bilangan huruf boleh menjadi sifar:

php<?php
  $str = 'xx xabesx xaadx x123x xa3x';
  $res = preg_replace('#x[a-z]*x#', '!', $str);
?>

Hasilnya, yang berikut akan ditulis ke dalam pembolehubah:

php'! ! ! x123x xa3x'

Tugas Praktikal

Задание 1

Diberikan rentetan:

php<?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'.

Задание 2

Diberikan rentetan:

php<?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.

Задание 3

Diberikan rentetan:

php<?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.

Задание 4

Diberikan rentetan:

php<?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.

Задание 5

Diberikan rentetan:

php<?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.

Задание 6

Diberikan rentetan:

php<?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.

Задание 7

Diberikan rentetan:

php<?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.

Задание 8

Diberikan rentetan:

php<?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.