Đảo ngược tập ký tự trong regex

Sử dụng dấu mũ ^ ở đầu dấu ngoặc vuông có thể đảo ngược mong muốn. Tức là, nếu, ví dụ, lệnh [ab] tìm chữ cái 'a' hoặc 'b', thì lệnh [^ab] sẽ tìm tất cả các ký tự, ngoại trừ 'a' và 'b'.

Ví dụ

Trong ví dụ này, mẫu tìm kiếm trông như thế này: chữ cái 'x', sau đó KHÔNG PHẢI chữ cái 'a', không phải 'b' và không phải 'c', rồi chữ cái 'z':

php<?php
  $str = 'xaz xbz xcz xez';
  $res = preg_replace('#x[^abc]z#', '!', $str);
?>

Kết quả trong biến sẽ được ghi như sau:

php'xaz xbz xcz !'

Ví dụ

Trong ví dụ này, mẫu tìm kiếm trông như thế này: chữ cái 'x', sau đó KHÔNG PHẢI chữ cái latinh thường, rồi chữ cái 'z':

php<?php
  $str = 'xaz xbz x1z xCz';
  $res = preg_replace('#x[^a-z]z#', '!', $str);
?>

Kết quả trong biến sẽ được ghi như sau:

php'xaz xbz ! !'

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

Задание 1

Viết biểu thức chính quy tìm các chuỗi theo mẫu: số '1', sau đó ký tự không phải 'e' và không phải 'x', số '2'.

Задание 2

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 số từ 2 đến 7, chữ cái 'z'.

Задание 3

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 chữ cái latinh hoa từ 1 lần trở lên, chữ cái 'z'.

Задание 4

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 chữ cái latinh hoa và không phải chữ cái latinh thường và không phải số từ 1 đến 5 từ 1 lần trở lên, chữ cái 'z'.