Khẳng định biểu thức chính quy là gì?
Khẳng định là một biểu thức chính quy thành công (nếu tìm thấy kết quả khớp) hoặc không thành công (nếu không tìm thấy kết quả khớp).
Chúng bao gồm các Neo và Lookaround.
Neo
Anchor là một khẳng định có độ rộng bằng không. Chúng không làm cho động cơ tiến qua chuỗi hoặc tiêu thụ các ký tự và có thể là một trong những điều sau đây:
^
- Trận đấu phải bắt đầu ở đầu chuỗi hoặc dòng.
$
- Trận đấu phải xảy ra ở cuối chuỗi hoặc trước \ n ở cuối dòng hoặc chuỗi.
\A
- Trận đấu phải xảy ra ở đầu chuỗi.
\Z
- Trận đấu phải xảy ra ở cuối chuỗi hoặc trước \ n ở cuối chuỗi.
\z
- Trận đấu phải xảy ra ở cuối chuỗi.
\G
- Trận đấu phải diễn ra tại thời điểm trận đấu trước kết thúc.
\b
- Trận đấu phải xảy ra trên một ranh giới giữa một \w
ký tự (chữ và số) và ký tự (không chữ) \W
.
\B
- Trận đấu không được xảy ra trên một \b
ranh giới.
Nguồn Ngôn ngữ biểu thức chính quy - Tham khảo nhanh
Nhìn
Lookahead và lookbehind, được gọi chung là "lookaround", là các xác nhận có độ dài bằng không giống như bắt đầu và kết thúc của dòng, và bắt đầu và kết thúc các từ neo.
Sự khác biệt là cái nhìn thực sự khớp với các nhân vật, nhưng sau đó từ bỏ trận đấu, chỉ trả về kết quả: khớp hoặc không khớp. Đó là lý do tại sao chúng được gọi là "khẳng định". Họ không tiêu thụ các ký tự trong chuỗi, mà chỉ khẳng định liệu một trận đấu có khả thi hay không.
Lookaround cho phép bạn tạo các biểu thức thông thường không thể tạo mà không có chúng, hoặc điều đó sẽ trở nên rất dài nếu không có chúng.
Các xác nhận nguồn gốc của Lookahead và Lookbehind
Nguồn làm chủ Lookahead và Lookbehind
đọc thêm