Regular Expression

Một phần của tài liệu XÂY DỰNG ỨNG DỤNG GADGET (Trang 32 - 34)

Khi đã vào được trang chi tiết chứa những thông tin, công việc cuối cùng là chọn ra thông tin mong muốn và hiện thị ra cho người sử dụng.Có thể thấy rằng công việc này khá dễ dàng đối với con người, tuy nhiên đối với máy tính lại là cả một vấn đề không nhỏ. Các trang web được viết ra để phục vụ cho đối tượng chính là con người, các nội dung thể hiện trên trang web luôn có ngữ nghĩa riêng của nó mà chỉ có con người mới có thể hiểu được.

Tuy nhiên, để ý một điều rằng, các trang web tuy rằng rất đa dạng và phong phú, nhưng các trang web cùng cung cấp một loại thông tin lại có những phần thường được thiết kế với một cấu trúc tương tự nhau, gọi là web template. Các web template dựa vào cách thiết kế, sắp đặt các phần tử HTML, kết hợp với CSS, đem lại một cấu trúc

nhất quán cho toàn bộ trang web. Các trang này sẽ thường có chung một template, tức là sự sắp xếp các thẻ HTML trong các trang này hầu hết là giống nhau. Hơn nữa dựa vào những từ khóa xuất hiện với tuần xuất cao kết hợp với web template trong những trang cùng cung cấp một lĩnh vực thông tin nào đó chúng ta có thể xây dựng được luật để bóc tách thông tin mong muốn sử dụng biểu thức chính quy.

Biểu thức chính quy (Regular Expression ) viết tắt là Regexp, Regex hay Regxp là một chuỗi miêu tả một bộ các chuỗi khác, theo những quy tắc cú pháp nhất định [9]. Biểu thức chính quy thường được dùng trong các trình biên tập văn bản và các tiện ích tìm kiếm và xử lý văn bản dựa trên các mẫu được quy định Regexp cung cấp các phương pháp xử lý văn bản mạnh mẽ, linh hoạt, và hiệu quả. Mẫu các ký hiệu so khớp bao quát của biểu thức chính quy cho phép bạn nhanh chóng phân tích cú pháp một lượng lớn các văn bản cụ thể để tìm các mẫu tự, trích xuất, chỉnh sửa, thay thế hoặc xóa một chuỗi con; tạo ra tập hợp các trích xuất để báo cáo và nhiều ứng dụng sử dụng chuỗi văn bản (như mã HTML, phân tích file log, tiêu đề HTTP). Regexp không phải là một kĩ thuật mới, nó xuất phát từ môi trường UNIX, đuợc dùng với PERL được Microsoft sử dụng vàoWindows,và hiện nay thì nó hầu như được sử dụng với những ngôn ngữ kịch bản.

Ví dụ bạn muốn lấy tất cả các siêu liên kết (hyperlink) trong một trang web. Thu lấy các siêu liên kết trong một trang web về khái niệm thì hoàn toàn dễ nhưng thông thường thì khá khó khăn trong thực tế. Vấn đề là các trang web đi theo một định dạng bán chuẩn và chứa đựng rất nhiều biến trạng. Một siêu liên kết có thể được đưa vào đặc tính href của một anchor (<a>), đặc tính onclick của một phần tử JavaScript như nút nhấn. Bản thân URL có thể là tương đối hay đầy đủ hoặc nó có thể chỉ là một bookmark (là một thẻ anchor có href bắt đầu với ký tự #).

Dưới đây là một biểu thức chính quy thu lấy tất cả các giá trị href từ một trang web:

HrefRegex = new Regex (/href\\s*=\\s*”([^”]*)/g)

Sau đó chúng ta sẽ kiểm tra URL thu được có phải là là bookmark hay không và xác định xem nó là đường dẫn tương đối hay tuyệt đối. Nếu chúng là đường dẫn tương đối chúng ta chuyển chúng về đường dẫn đầy đủ bằng cách thêm vào đường dẫn hiện tại.

Chương 3: Xây dựng ứng dụng Gadget

Một phần của tài liệu XÂY DỰNG ỨNG DỤNG GADGET (Trang 32 - 34)

Tải bản đầy đủ (PDF)

(47 trang)