Biểu thức chính quy (tiếng Anh: 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ư 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.
- Aho, Alfred V. (1990). “Algorithms for finding patterns in strings”. Trong van Leeuwen, Jan. Handbook of Theoretical Computer Science, volume A: Algorithms and Complexity. The MIT Press. tr. 255–300.
- “The Single UNIX ® Specification, Version 2”. The Open Group. 1997.
- “The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition”. The Open Group. 2004.
- Cox, Russ (2007). “Regular Expression Matching Can Be Simple and Fast”.
- Forta, Ben (2004). Sams Teach Yourself Regular Expressions in 10 Minutes. Sams. ISBN 0-672-32566-7.
- Friedl, Jeffrey (2002). Mastering Regular Expressions. O'Reilly. ISBN 0-596-00289-0.
- Gelade, Wouter; Neven, Frank (2008). “Succinctness of the Complement and Intersection of Regular Expressions”. Proceedings of the 25th International Symposium on Theoretical Aspects of Computer Science (STACS 2008). tr. 325–336.
- Gruber, Hermann; Holzer, Markus (2008). “Finite Automata, Digraph Connectivity, and Regular Expression Size” (PDF). Proceedings of the 35th International Colloquium on Automata, Languages and Programming (ICALP 2008) 5126. tr. 39–50. doi:10.1007/978-3-540-70583-3_4.
- Habibi, Mehran (2004). Real World Regular Expressions with Java 1.4. Springer. ISBN 1-59059-107-0.
- Hopcroft, John E.; Motwani, Rajeev; Ullman, Jeffrey D. (2000). Introduction to Automata Theory, Languages, and Computation (ấn bản 2). Addison-Wesley.
- Kleene, Stephen C. (1956). “Representation of Events in Nerve Nets and Finite Automata”. Trong Shannon, Claude E.; McCarthy, John. Automata Studies. Princeton University Press. tr. 3–42.
- Kozen, Dexter (1991). “Proceedings of the 6th Annual IEEE Symposium on Logic in Computer Science (LICS 1991)”. tr. 214–225.
- Laurikari, Ville (2009). “TRE library 0.7.6”.
- Liger, Francois; Craig McQueen, Paul Wilton (2002). Visual Basic.NET Text Manipulation Handbook. Wrox Press. ISBN 1-86100-730-2.
- Sipser, Michael (1998). “Chapter 1: Regular Languages”. Introduction to the Theory of Computation. PWS Publishing. tr. 31–90. ISBN 0-534-94728-X.
- Stubblebine, Tony (2003). Regular Expression Pocket Reference. O'Reilly. ISBN 0-596-00415-X.
- Wall, Larry (2002). “Apocalypse 5: Pattern Matching”.
- Goyvaerts, Jan; [Jan Goyvaerts], [Steven Levithan] (2009). Regular Expressions Cookbook. [O'reilly]. ISBN 978-0-596-52068-7.
No comments:
Post a Comment