Lookaround là nhóm không chiếm giữ (non capturing group) dùng để so khớp dựa vào những gì nó tìm thấy trước (look ahead) và sau (look behind) một mẫu.

Lookaround bao gồm:

  • Positive lookahead: cú pháp (?=ABC)
  • Negative lookahead: cú pháp (?!ABC)
  • Positive lookbehind (không hỗ trợ trong JavaScript): cú pháp (?<=ABC)
  • Negative lookbehind (không hỗ trợ trong JavaScript): cú pháp (?<!ABC)

Cho văn bản mẫu sau:


you aa you bb you cc you aa your aa

Ví dụ 1: so khớp từ you theo sau bởi aa, dùng positive lookahead như sau: you (?=aa)

Lưu ý rằng giữa you(?=aa) có khoảng trắng vì giữa youaa có khoảng trắng trong mẫu. Kết quả trong RegExr:

Ví dụ 2: so khớp tất cả từ you không theo sau bởi aa, dùng negative lookahead như sau: you (?!aa). Kết quả trong RegExr:

Ví dụ 3: so khớp tất cả từ aa có từ you đứng trước (hay bên trái), dùng positive lookbehind trong Rubular như sau: (?<=you) aa

Ví dụ 4: so khớp tất cả từ aa mà đứng trước nó không phải là you, dùng negative lookbehind trong Rubular như sau: (?<!you) aa