| | Copyright |
| | Dedication |
| | Preface |
| | Chapter 1. Introduction to Regular Expressions |
| | | Section 1.1. Solving Real Problems |
| | | Section 1.2. Regular Expressions as a Language |
| | | Section 1.3. The Regular-Expression Frame of Mind |
| | | Section 1.4. Egrep Metacharacters |
| | | Section 1.5. Expanding the Foundation |
| | | Section 1.6. Personal Glimpses |
| | Chapter 2. Extended Introductory Examples |
| | | Section 2.1. About the Examples |
| | | Section 2.2. Matching Text with Regular Expressions |
| | | Section 2.3. Modifying Text with Regular Expressions |
| | Chapter 3. Overview of Regular Expression Features and Flavors |
| | | Section 3.1. |
| | | Section 3.2. A Casual Stroll Across the Regex Landscape |
| | | Section 3.3. Care and Handling of Regular Expressions |
| | | Section 3.4. Strings, Character Encodings, and Modes |
| | | Section 3.5. Common Metacharacters and Features |
| | | Section 3.6. Guide to the Advanced Chapters |
| | Chapter 4. The Mechanics of Expression Processing |
| | | Section 4.1. Start Your Engines! |
| | | Section 4.2. Match Basics |
| | | Section 4.3. Regex-Directed Versus Text-Directed |
| | | Section 4.4. Backtracking |
| | | Section 4.5. More About Greediness and Backtracking |
| | | Section 4.6. NFA, DFA, and POSIX |
| | | Section 4.7. Summary |
| | Chapter 5. Practical Regex Techniques |
| | | Section 5.1. Regex Balancing Act |
| | | Section 5.2. A Few Short Examples |
| | | Section 5.3. HTML-Related Examples |
| | | Section 5.4. Extended Examples |
| | Chapter 6. Crafting an Efficient Expression |
| | | Section 6.1. |
| | | Section 6.2. A Sobering Example |
| | | Section 6.3. A Global View of Backtracking |
| | | Section 6.4. Benchmarking |
| | | Section 6.5. Common Optimizations |
| | | Section 6.6. Techniques for Faster Expressions |
| | | Section 6.7. Unrolling the Loop |
| | | Section 6.8. The Freeflowing Regex |
| | | Section 6.9. In Summary: Think! |
| | Chapter 7. Perl |
| | | Section 7.1. Regular Expressions as a Language Component |
| | | Section 7.2. Perl's Regex Flavor |
| | | Section 7.3. Regex-Related Perlisms |
| | | Section 7.4. The qr/ ‹/ Operator and Regex Objects |
| | | Section 7.5. The Match Operator |
| | | Section 7.6. Fun with Perl Enhancements |
| | | Section 7.7. Perl Efficiency Issues |
| | | Section 7.8. Regex Compilation, the /o Modifier, qr/ ‹/, and Efficiency |
| | | Section 7.9. Final Comments |
| | Chapter 8. Java |
| | | Section 8.1. Java's Regex Flavor |
| | | Section 8.2. Using java.util.regex |
| | | Section 8.3. The Pattern.compile() Factory |
| | | Section 8.4. The Matcher Object |
| | | Section 8.5. Other Matcher Methods |
| | | Section 8.6. Other Pattern Methods |
| | | Section 8.7. Pattern's split Method, with Two Arguments |
| | | Section 8.8. Additional Examples |
| | | Section 8.9. Validating HTML with Multiple Patterns Per Matcher |
| | | Section 8.10. Java Version Differences |
| | Chapter 9. .NET |
| | | Section 9.1. .NET's Regex Flavor |
| | | Section 9.2. Using .NET Regular Expressions |
| | | Section 9.3. Core Object Details |
| | | Section 9.4. Static "Convenience" Functions |
| | | Section 9.5. Support Functions |
| | | Section 9.6. Advanced .NET |
| | Chapter 10. PHP |
| | | Section 10.1. PHP's Regex Flavor |
| | | Section 10.2. The Preg Function Interface |
| | | Section 10.3. The Preg Functions |
| | | Section 10.4. "Missing" Preg Functions |
| | | Section 10.5. Recursive Expressions |
| | | Section 10.6. PHP Efficiency Issues |
| | | Section 10.7. Extended Examples |
| | About the Author |
| | Colophon |
| | Index |