Ký tự đặc biệt bên trong dấu ngoặc vuông trong PHP

Các ký tự đặc biệt bên trong [] trở thành các ký tự thông thường. Điều này có nghĩa là chúng không cần phải được thoát bằng dấu gạch chéo ngược.

Ví dụ

Trong ví dụ này, mẫu tìm kiếm trông như thế này: giữa các chữ 'x' là bất kỳ chữ cái 'a', 'b', 'c', hoặc dấu chấm:

php<?php
  $str = 'xax xbx xcx xdx x.x x@x';
  $res = preg_replace('#x[abc.]x#', '!', $str);
?>

Kết quả, biến sẽ ghi lại nội dung sau:

php'! ! ! xdx ! x@x'

Ví dụ

Trong ví dụ này, mẫu tìm kiếm trông như thế này: giữa các chữ 'x' là bất kỳ chữ cái Latinh viết thường hoặc dấu chấm:

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

Kết quả, biến sẽ ghi lại nội dung sau:

php'! ! ! x@x'

Bài tập thực hành

Задание 1

Cho chuỗi:

php<?php
  $str = 'aba aea aca aza axa a.a a+a a*a';
?>

Hãy viết biểu thức chính quy tìm các chuỗi 'a.a', 'a+a', 'a*a', không ảnh hưởng đến các chuỗi khác.

Задание 2

Cho chuỗi:

php<?php
  $str = 'xaz x.z x3z x@z x$z xrz';
?>

Hãy viết biểu thức chính quy tìm các chuỗi theo mẫu: chữ cái 'x', sau đó KHÔNG PHẢI dấu chấm, KHÔNG PHẢI dấu @, và KHÔNG PHẢI dấu đô la, rồi đến chữ cái 'z'.