Tài liệu Biểu thức chính quy - Pdf 10

Giới thiệu về biểu thức chính quy – Introduction to Regular
expression [1]
Bài viết này sẽ giới thiệu một cách tổng quan về regular
expression (biểu thức chính quy). Giải thích vai trò của
regular expression và giới thiệu một số công cụ để chúng ta
dễ dàng tìm hiểu, sáng tạo và debug.
1. Định nghĩa biểu thức chính quy (regular expression defined)
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. 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. Nhiều ngôn ngữ lập trình cũng hỗ trợ biểu thức chính quy trong việc xử
lý chuỗi, chẳng hạn như C#, Perl có bộ máy mạnh mẽ để xử lý biểu thức chính quy được xây
dựng trực tiếp trong cú pháp của chúng. Bộ các trình tiện ích (gồm trình biên tập sed và trình lọc
grep) đi kèm các bản phân phối Unix có vai trò đầu tiên trong việc phổ biến khái niệm biểu thức
chính quy.
- Thuật ngữ regular expression xuất phát từ lý thuyết toán học và khoa học máy tính, nó phản
ánh một đặc điểm của các biểu thức toán học được gọi là chính quy (regularity). Một biểu thức
có thể được thực hiện trong một phần mềm bằng cách sử dụng một bộ xác định giới hạn tự động
(Deterministic Finite Automation – DFA). DFA là một trạng thái xác định và không sử dụng cơ
chế quay lui (backtracking).
- Nếu bạn sử dụng tốt những kỹ năng về regular expression. Chúng sẽ đơn giản hơn nhiều trong
lập trình và quá trình xử lý văn bản, và có những vấn đề sẽ không thể giải quyết được nếu không
sử dụng regular expression. Bạn sẽ cần đến hàng trăm thủ tục để trích xuất tất cả các địa chỉ
email từ một số tài liệu, đây có thể nói là một việc làm tẻ nhạc và vất vã. Nhưng với regular
expression bạn chỉ cần một số dòng lệnh hoặc thậm chí một dòng lệnh để làm việc này.
- Nói đi thì cũng phải nói lại, Regular expression cũng thường đem đến cho người sử dụng
những phiền toái không mong muốn như: sử dụng một biểu thức chính quy không phù hợp với
biểu thức muốn tìm, hoặc số văn bản tìm được với biểu thức chính quy đó không phù hợp… Do
đó dừng vội phát biểu: “Tôi biết regular expression và tôi sẽ sử dụng nó”. Để sử dụng regular
expression bạn phải có một kiến thức từ cơ bản đến nâng cao về những biểu thức và cách thức
hoạt động của nó trong các ngôn ngữ lập trình.

nhập vào trong textbox với biểu thức chính quy.
• Split: Sử lý các biểu thức chính quy bằng cách tách riêng thành các token cơ sở ở những
nơi mà đối tượng của bạn được tìm thấy bằng cách sử dụng biểu thức chính quy của bạn.
3
• Click bất kỳ button nào và lựa chọn Update Automatically để RegexBuddy hiển thị kết
quả một cách tự động và đồng bộ khi bạn thay đổi bất cứ gì trong biểu thức chính quy.
• Copy button: đưa biểu thức chính quy được tạo vào clipboard để bạn dán vào source code
của mình.
- Nếu bạn có bất cứ thắc mắc nào thì có thể tạo một tài khoảng để đăng nhập vào forum và hỏi
những điều đó. Tác giả Jan thường online trên diễn đàn để trả lời những thắc mắc đó.
- RegexBuddy có thể chạy trên Windows 98, ME, 2000, XP, Vista and Windows 7. Còn có thể
chạy tốt trên các môi trường như: Mware, Parallels, CrossOver Office. Bạn có thể download
RegexBuddy tại: Đây là bản dùng thử
7 ngày (vì đây là phần mềm trả phí).
3.2 RegexPal
- RegexPal là một trình kiểm tra biểu thức chính quy online được tạo bởi tác giả Steven
Levithan. Bạn chỉ âần một trình duyệt web hiện đại và một đường truyền internet là có thể sử
dụng nó. RegexPal được viết hoàn toàn bằng JavaScript, do đó nó chỉ hỗ trợ ngôn ngữ
JavasScript.
- RegexPal sẽ tự động tô màu các chuỗi phù hợp với chuỗi biểu thức chính quy được nhập ở ô
phía trên. Nếu bạn nhập một cú pháp sai thì RegexPal sẽ tô sáng những phần sai đó. RegexPal là
công cụ tôi thường sử dụng khi viết các chương trình trên .Net để kiểm tra biểu thức chính quy
của mình. Bạn có thể sử dụng và tìm hiểu thêm về RegexPal tại: />3.3 Một vài công cụ kiểm tra biểu thức chính quy online khác (More online Regex Testers)
4
Để tạo một công cụ kiểm tra biểu thức chính quy online là một điều không quá khó. Nếu bạn có
một kiến thức về phát triển web và những kiến thức về regular expression cần thiết thì bạn có thể
tự tạo cho mình một trang như RegexPal kể trên. Và có hàng trăm người đã làm sẵn nó cho bạn.
Sau đây là một số trang điển hình:
- Hỗ trợ PHP PCRE, PHP POSIX và JavaScript.
- : hỗ trợ các ngôn ngữ .NET được phát triển bởi David Seruyange.

e. RegexRenamer
RegexRenamer là một ứng dụng .NET. Có thể download tại:
Chương trình có giao diện như sau:
12
3.5 Một số trình biên tập văn bản hỗ trợ biểu thức chính quy (Popular Text Editors)
• Boxer Text Editor (PCRE)
• Dreamweaver (JavaScript)
• EditPad Pro (custom flavor that combines the best of the flavors discussed in this
book; labeled “JGsoft” in RegexBuddy)
• Multi-Edit (PCRE, if you select the “Perl” option)
• NoteTab (PCRE)
• UltraEdit (PCRE)
• TextMate (Ruby 1.9 [Oniguruma])
• NotePad++
4. Tài liệu tham khảo (reference)
- Wikipedia tiếng Anh về Regular Expression
- Website o/
- Regular Expression Cookbook của nhà xuất bản: O’Reilly Media
13


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status