Negative Và Positive Lookahead trong Regular Expression

Nếu Lookbehind dùng để kiểm tra điều kiện ở phía trước chuỗi thì Lookahead ngược lại, nó sẽ kiểm tra điều kiện ở phía sau. Cũng tương tự như lookbehind sẽ có 2 dạng, đó là Positive và Negative.

test php

banquyen png

Bài viết này được đăng tại phpbbvietnam.com, không được copy dưới mọi hình thức.

Không có gì bằng thấy tận mắt, sờ tận tay đúng không nào? Nên ta sẽ bắt đầu một ví dụ nhé.

Ví dụ 1: Lấy phần đầu của email có phần đuôi là @gmail.com trong chuỗi [email protected] [email protected] [email protected] [email protected]‘.

Hình như ví dụ này hơi quen quen, các bạn nhớ ra chưa nhỉ ? Nếu nhớ ra thì comment ở dưới để tôi biết với nhé :D.

Ta sẽ giải bài này thông qua Positive Lookahead Regular Expression.

Bài viết này được đăng tại [phpbbvietnam.com]

Positive Lookahead Trong Regular Expression

Cú pháp: (?=)

Ở ví dụ một ta sẽ dùng Positive Lookahead để xác định câu partern ‘chuỗi nào có phần đuôi bằng @gmail.com thì sẽ chọn’. Các bạn xem code nhé.


$str="[email protected] [email protected] [email protected] [email protected]";
preg_match_all('/[^s]+([email protected])/', $str, $matches);
echo '<pre>';
print_r($matches);
echo '</pre>';


Chạy lên và kết quả là:


Array
(
    [0] => Array
        (
            [0] => phpbbvietnam.com
            [1] => phpbbvietnam.com
        )
)

Bạn có thấy chuỗi partern mình có thêm một đoạn ([email protected]) không, đoạn này chính là Positive Lookahead xác định chuỗi @gmail.com. Còn đoạn partern đầu tiên [^s]+ là tìm dãy ký tự cho tới khi gặp khoảng trắng. Và kết quả đúng như mong đợi.

Negative Lookahead trong regular expression

Cú pháp: (?!)

Read More:   Hàm strval trong php

Ở phần trên ta đã tìm được phần đầu của những email có phần đuôi là @gmail.com, bây giờ giả sử tôi muốn tìm kiếm phần đầu của những email có phần đuôi không phải là @gmail.com. Áp dụng cú pháp và tương tự như Pisitive Lookahead ta có lời giải như sau:

.. xin lỗi tutorials bị lỗi, mình sẽ cập nhật sớm

Danh sách file tải về

Bài viết này, The Learn PHP Tutorial Đã gửi đến bạn đọc kiến thức về “Negative Và Positive Lookahead trong Regular Expression❤️️”. Admin hy vọng qua phần nội dung trong bài”Negative Và Positive Lookahead trong Regular Expression” có thể giúp bạn đọc có thêm kiến thức về “Negative Và Positive Lookahead trong Regular Expression trong quá trình tự học PHP của mình .

Bài viết “Negative Và Positive Lookahead trong Regular Expression” posted by on 2022-07-15 03:22:03. Cảm ơn bạn đọc đã xem bài viết tại Phpbbvietnam.com Và đừng quên chia sẻ bài viết này để nhiều người khác cũng có thể xem tài liệu học php miễn phí này nhé.

Back to top button