Khái niệm về biểu thức chính qui Biểu thức chính qui là một khuôn mẫu - một tiêu bản - để được sánh với một xâu. Việc sánh một biểu thức c hính qui với một xâu thì hoặc thành c ông hoặc thất bại. Đôi khi, sự thành công hay thất bại này có thể là tất cả những gì bạn quan tâm tới. | I Diễn đàn tin học Tutorial Room Mục lục Chương 6 Chương 8 Learning Perl - Chương 7 Biểu thức chính qui 1. Nhâp vào từ STDIN 2. Nhâp vào từ toán tử hình thoi 3. Đưa ra STDOUT 4. Bài tâp Khái niệm về biểỉu thức chính qui Biểu thức chính qui là một khuôn mẫu - một tiêu bản - để được sánh với một xâu. Việc sánh một biểu thức chính qui với một xâu thì hoặc thành công hoặc thất bại. Đôi khi sự thành công hay thất bại này có thể là tất cả những gì bạn quan tâm tới. Vào lúc khác bạn sẽ muốn lấy một khuôn mẫu đã sánh đúng và thay thế nó bằng một xâu khác một phần trong đó có thể phụ thuộc đích xác vào cách thức và nơi chốn mà biểu thức chính qui được sánh đúng. Biểu thức chính qui thường được nhiều chương trình UNIX dùng tới như grep sed awk ed vi emacs và thâm chí cả nhiều shell script nữa. mỗi chương trình đều có một tâp các kí tự tiêu bản khác nhau. Perl là một siêu tệp ngữ nghĩa cho tất cả những công cụ này - bất kì biểu thức chính qui nào mà có thể được viết trong một trong những công cụ UNIX này thì cũng đều có thể được viết trong Perl nhưng không nhất thiết dùng hệt các kí tự đó. Cách dùng đơn giản về biểỉu thức chính qui Nếu chúng ta tìm tất cả các dòng của một tệp có chứa xâu abc thì ta có thể dùng lệnh grep grep abc sonefile result Trong trường hợp này abc là biểu thức chính qui mà lệnh grep lấy để kiểm tra cho từng dòng đưa vào. Những dòng so sánh đúng sẽ được chuyển ra lối ra chuẩn ở đây kết quả sẽ được ghi vào tệp result . Trong Perl ta có thể nói về xâu abc như biểu thức chính qui bằng việc bao xâu này trong hai dấu sổ chéo if abc print _ Nhưng cái gì được kiểm tra so với biểu thức chính qui abc trong trường hợp này Tại sao biến _ lại có mặt ở đây Khi một biểu thức chính qui được bao trong hai dấu sổ chéo như trên thì biến _ sẽ được kiểm tra theo biểu thức c hính qui đó. Nếu biểu thức c hính qui so sánh đúng thì toán tử so sánh sẽ trả về giá trị đúng ngược lại nó trả về giá trị sai. Trong thí dụ này biến _ được giả sử có chứa một dòng văn bản nào đó .