REGULAR EXPRESSION PHP
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
Dự án mới của mình là gamehow.net, mời anh em ghé thăm và góp ý ạ.

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.

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é.

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.
Ví dụ 1: Lấy phần đầu của email có phần đuôi là @gmail.com trong chuỗi 'freetuts@gmail.com thehalfheart@facebook.com hoclaptrinh@yahoo.com freetuts.net@gmail.com'.

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.

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 = 'freetuts@gmail.com thehalfheart@facebook.com hoclaptrinh@yahoo.com freetuts.net@gmail.com';
preg_match_all('/[^\s]+(?=@gmail\.com)/', $str, $matches);
echo '<pre>';
print_r($matches);
echo '</pre>';


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

Array
(
    [0] => Array
        (
            [0] => freetuts
            [1] => freetuts.net
        )
)

Bạn có thấy chuỗi partern mình có thêm một đoạn (?=@gmail\.com) 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: (?!)

Ở 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

Tổng hợp dữ liệu trong bài:

Cùng chuyên mục:

Hàm key_exists() trong PHP

Hàm key_exists() trong PHP

Cách sử dụng key_exists() trong PHP

Hàm mysqli_fetch_row() trong PHP

Hàm mysqli_fetch_row() trong PHP

Cách sử dụng mysqli_fetch_row() trong PHP

Hàm end() trong PHP

Hàm end() trong PHP

Cách sử dụng end() trong PHP

Hàm mysqli_field_count() trong PHP

Hàm mysqli_field_count() trong PHP

Cách sử dụng mysqli_field_count() trong PHP

Hàm count() trong PHP

Hàm count() trong PHP

Cách sử dụng count() trong PHP

Hàm mysqli_field_seek() trong PHP

Hàm mysqli_field_seek() trong PHP

Cách sử dụng mysqli_field_seek() trong PHP

Hàm compact() trong PHP

Hàm compact() trong PHP

Cách sử dụng compact() trong PHP

Hàm mysqli_field_tell() trong PHP

Hàm mysqli_field_tell() trong PHP

Cách sử dụng mysqli_field_tell() trong PHP

Hàm array_values() trong PHP

Hàm array_values() trong PHP

Cách sử dụng array_values() trong PHP

Hàm mysqli_free_result() trong PHP

Hàm mysqli_free_result() trong PHP

Cách sử dụng mysqli_free_result() trong PHP

Hàm array_unshift() trong PHP

Hàm array_unshift() trong PHP

Cách sử dụng array_unshift() trong PHP

Hàm mysqli_get_charset() trong PHP

Hàm mysqli_get_charset() trong PHP

Cách sử dụng mysqli_get_charset() trong PHP

Hàm array_shift() trong PHP

Hàm array_shift() trong PHP

Cách sử dụng array_shift() trong PHP

Hàm mysqli_get_client_stats() trong PHP

Hàm mysqli_get_client_stats() trong PHP

Cách sử dụng mysqli_get_client_stats() trong PHP

Hàm array_unique() trong PHP

Hàm array_unique() trong PHP

Cách sử dụng array_unique() trong PHP

Hàm mysqli_get_client_version() trong PHP

Hàm mysqli_get_client_version() trong PHP

Cách sử dụng mysqli_get_client_version() trong PHP

Hàm array_uintesect() trong PHP

Hàm array_uintesect() trong PHP

Cách sử dụng array_uintesect() trong PHP

Hàm mysqli_get_connection_stats() trong PHP

Hàm mysqli_get_connection_stats() trong PHP

Cách sử dụng mysqli_get_connection_stats() trong PHP

Hàm array_sum() trong PHP

Hàm array_sum() trong PHP

Cách sử dụng array_sum() trong PHP

Hàm mysqli_get_host_info() trong PHP

Hàm mysqli_get_host_info() trong PHP

Cách sử dụng mysqli_get_host_info() trong PHP

Top