DIRegEx is a library of components and procedures that implement regular expression pattern matching using the same syntax and semantics as Perl for Delphi (Embarcadero / CodeGear / Borland).
The YuPcre2 Delphi Regular Expression Library is available as an implementation of the new PCRE2 library. It has an improved interface, optimized performance, and new features. Changes compared to DIRegEx are described here.
DIRegEx continues to be maintained and updated. For new development, YuPcre2 is nevertheless recommended.
DIRegEx offers two regular expression algorithms with their corresponding wrapper classes for easy usage:
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:
TDIRegExSearchStream
class descendents.DIRegEx can do a Format and Replace based on regular expressions, a feature often required for advanced text editors and word processors. It is possible to include parts of the originally matched text into the replacement.
The List function concatenates all reg-ex matches to a single string. It allows to build lists of phone numbers, e-mail addresses, etc. with a single function call only.
DIRegEx also includes two regular expression edits: TDIRegExMaskEdit and TDIRegExComboBox. Both controls validate all keyboard input against a regular expression pattern. They work similar to Delphi's TMaskEdit, but are much more flexible and powerful.
The regular expression mask controls allow to:
DIRegExMaskEdit
TDIRegExMaskEdit is an edit control that validates all keyboard input on a keystroke by keystroke basis. It accepts characters entered only if the new text matches the regular expression mask pattern. If the new text does not match, the character is silently rejected.
DIRegExMaskComboBox
TDIRegExMaskComboBox is a combo box control with essentially the same regular expression validation as TDIRegExMaskEdit.
The DIRegEx Workbench helps you to design and test your regular expressions. It allows to set all available options, measure execution times, and to save and load all settings for later use.
The DIRegEx Workbench is available as a