<Trước | Nội dung | Tiếp theo>
POSIX Basic Vs. Biểu thức chính quy mở rộng
Ngay khi chúng tôi nghĩ rằng điều này không thể khó hiểu hơn nữa, chúng tôi phát hiện ra rằng POSIX cũng chia các triển khai biểu thức chính quy thành hai loại: biểu thức chính quy cơ bản (BRE) và biểu thức chính quy mở rộng (ERE). Các tính năng mà chúng tôi đã đề cập cho đến nay được hỗ trợ bởi bất kỳ ứng dụng nào tuân thủ POSIX và triển khai BRE. Của chúng tôi grep chương trình là một trong những chương trình như vậy.
Sự khác biệt giữa BRE và ERE là gì? Đó là vấn đề của siêu nhân vật. Với BRE, các siêu ký tự sau được công nhận:
^ $. [] *
Tất cả các ký tự khác được coi là nghĩa đen. Với ERE, các siêu ký tự sau (và các chức năng liên quan của chúng) được thêm vào:
() {}? + |
Tuy nhiên (và đây là phần thú vị), các ký tự “(”, “)”, “{” và “}” được coi là siêu ký tự trong BRE if chúng được thoát bằng dấu gạch chéo ngược, trong khi với ERE, việc đặt trước bất kỳ siêu ký tự nào có dấu gạch chéo ngược khiến nó được coi là một chữ. Bất kỳ sự kỳ lạ nào đi kèm sẽ được đề cập trong các cuộc thảo luận tiếp theo.
Vì các tính năng chúng ta sẽ thảo luận tiếp theo là một phần của ERE, chúng ta sẽ cần sử dụng grep. Theo truyền thống, điều này đã được thực hiện bởi ví dụ chương trình, nhưng phiên bản GNU của grep cũng hỗ trợ các biểu thức chính quy mở rộng khi -E tùy chọn được sử dụng.
POSIX
Trong những năm 1980, Unix đã trở thành một hệ điều hành thương mại rất phổ biến, nhưng đến năm 1988, thế giới Unix rơi vào tình trạng hỗn loạn. Nhiều nhà sản xuất máy tính đã kiểm duyệt mã nguồn Unix từ người tạo ra nó, AT&T, và đang cung cấp các phiên bản hệ điều hành khác nhau cùng với hệ thống của họ. Tuy nhiên, trong nỗ lực tạo ra sự khác biệt của sản phẩm, mỗi nhà sản xuất đã thêm các thay đổi và tiện ích mở rộng độc quyền. Điều này bắt đầu hạn chế khả năng tương thích của phần mềm. Như mọi khi với
POSIX Basic Vs. Biểu thức chính quy mở rộng
các nhà cung cấp độc quyền, mỗi nhà cung cấp đang cố gắng chơi một trò chơi chiến thắng là “khóa chặt” khách hàng của họ. Khoảng thời gian đen tối này trong lịch sử của Unix ngày nay được gọi là “sự Balkanization".
Vào IEEE (Viện Kỹ sư Điện và Điện tử). Vào giữa những năm 1980, IEEE bắt đầu phát triển một bộ tiêu chuẩn xác định cách thức hoạt động của các hệ thống Unix (và giống Unix). Các tiêu chuẩn này, chính thức được gọi là IEEE 1003, xác định giao diện lập trình ứng dụng (API), các liên kết shell và utili- được tìm thấy trên một hệ thống giống Unix tiêu chuẩn. Tên "POSIX", viết tắt của Giao diện hệ điều hành di động (với “X” được thêm vào cuối để thêm phần hấp dẫn), được đề xuất bởi Richard Stallman (vâng, việc này Richard Stallman), và được IEEE thông qua.
<Trước | Nội dung | Tiếp theo>