Biểu thức chính quy: Khẳng định


0

Tôi muốn biết định nghĩa cho một khẳng định là gì trong bối cảnh của các biểu thức thông thường. Nếu bất cứ ai nên biết, xin vui lòng khai sáng cho tôi với một định nghĩa ngắn gọn về những gì nó thực sự là. Tôi cũng sẽ đánh giá cao một hoặc hai ví dụ như vậy.

Câu trả lời:


1

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 \wký 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 \branh 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

nhập mô tả hình ảnh ở đây

Nguồn làm chủ Lookahead và Lookbehind


đọc thêm

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.