Các nhóm ký tự bên trong dấu ngoặc vuông PHP
Các nhóm ký tự \d, \D, \w,
\W, \s, \S bên trong []
sẽ biểu thị chính xác các nhóm, tức là chúng vẫn sẽ là các lệnh.
Ví dụ
Trong ví dụ này, mẫu tìm kiếm trông như sau:
giữa các chữ 'x' là bất kỳ chữ số nào, hoặc chữ cái từ
'a' đến 'f':
<?php
$str = 'xax xbx x1x x2x xhx x@x';
$res = preg_replace('#x[\da-f]x#', '!', $str);
?>
Kết quả, biến sẽ ghi lại điều sau:
'! ! ! ! xhx x@x'
Ví dụ
Trong ví dụ này, mẫu tìm kiếm trông như sau:
chữ cái 'x', tiếp theo không phải chữ số, không phải dấu chấm,
và không phải chữ cái Latinh thường, sau đó là chữ cái
'z':
<?php
$str = 'xaz x1z xAz x.z x@z';
$res = preg_replace('#x[^\d.a-z]z#', '!', $str);
?>
Kết quả, biến sẽ ghi lại điều sau:
'xaz x1z ! x.z !'
Bài tập thực hành
Hãy viết biểu thức chính quy tìm các chuỗi
theo mẫu: chữ số hoặc dấu chấm từ 1
lần trở lên.
Hãy viết biểu thức chính quy tìm các chuỗi
theo mẫu: không phải chữ số và không phải chữ cái từ 'a'
đến 'g' từ 3 đến 7 lần.