DIRegEx 8.6.1 Full Source | 2 Mb
DIRegEx is a library of Delphi (Embarcadero / CodeGear / Borland) components and procedures that implement regular expression pattern matching using the same syntax and semantics as Perl 5.10, with just a few differences. This includes support for UTF-8 encoded strings and Unicode general category properties.
DIRegEx offers two regular expression algorithms with their corresponding wrapper classes for easy usage:
TDIPerlRegEx implements a matching algorithm with the same syntax and semantics as Perl. Consider this the standard algorithm which you are used to from Perl and j@vascript. It is very fast and supports the complete pattern syntax. You will very likely be using it most of the time.
TDIDfaRegEx implements the DFA matching algorithm. Considerer this as a special purpose algorithm. If finds all possible matches and in particular, it finds the longest. It never needs to backtrack and supports partial matching much better, even for very long subject strings in several pieces.
Both classes descend from a common ancestor TDIRegEx which implements the complete functionality for working with regular expressions, regardless of which algorithm is currently in effect:
Matching and extraction of matches / substrings from the source text.
Searching for regular expressions within streams and memory buffers. To search within streams or files (of virtually unlimited size), use one of the specially optimized TDIRegExSearchStream class descendents.
Replacements on full and partial matches / substrings.
Listing of full and partial matches / substrings.
Formatting of matches.