Lookbehind trong biểu thức chính quy PHP
Trong bài học trước, chúng ta đã phân tích lookahead.
Tương tự như vậy có positive lookbehind
- (?<= ). Trong ví dụ tiếp theo
việc thay thế sẽ chỉ xảy ra nếu phía trước
'aaa' là 'x':
<?php
preg_replace('#(?<=x)aaa#', '!', 'xaaa'); // trả về 'x!'
?>
Và cũng có negative lookbehind
- (?<! ). Trong ví dụ tiếp theo việc thay thế
sẽ chỉ xảy ra nếu phía trước 'aaa'
không phải là 'x':
<?php
preg_replace('#(?<!x)aaa#', '!', 'baaa'); // trả về 'b!'
?>
Cho một chuỗi với các biến:
<?php
$str = '$aaa $bbb $ccc';
?>
Lấy mảng tên biến từ chuỗi này (không có ký tự đô la).