Hide
Login/Register to vote and to have access to more featuresYou are here: Root > By Topic > Text Processing > Regular Expression
View the dependency graph for this libraryCL-PPCRE
Created by Edi on: Thu, 05 Jan 2006 09:27:46 GMT, Last modification: Thu, 05 Jan 2006 09:27:46 GMT
A portable regular expression library with a syntax compatible with Perl.
CL-PPCRE is a portable regular expression library for Common Lisp
which has the following features:
- It is compatible with Perl. (Well - as far as you can be
compatible with a language defined by its ever-changing
implementation. As of December 2002, CL-PPCRE is more
compatible with the regex semantics of Perl 5.8.0 than, say,
Perl 5.6.1 is...:) It even correctly parses and applies Jeffrey Friedl's
famous 6600-byte long RFC822 address pattern.
- It is fast. If compiled with CMUCL it outperforms Perl's highly optimized regex engine (written
in C) which to my knowledge is faster than most other regex engines
around. If compiled with CLISP it is still comparable
to CLISP's own regex implementation which is also written in
C.
- It is portable, i.e. the code aims to be strictly ANSI-compliant. If
you encounter any deviations this is an error and should be
reported to the mailing list.
- It is thread-safe. Although the code uses closures
extensively, no state which dynamically changes during the scanning
process is stored in the lexical environments of the closures, so it
should be safe to use CL-PPCRE in a multi-threaded program. Tests with
LispWorks and Scieneer Common Lisp seem to confirm this.
- It comes with convenient features like a
SPLIT function, a couple of DO-like loop constructs, and a regex-based APROPOS feature
similar to the one found in Emacs.
- In addition to specifying regular expressions as strings like in
Perl you can also use S-expressions which obviously is
more Lisp-y.
- Is it is fully documented.
- It comes with a BSD-style
license so you can basically do with it whatever you want.
Compatible Implementations
Open Genera | Armed Bear Common Lisp | Scieneer Common Lisp | OpenMCL | MCL | ECL | Corman Lisp | CMUCL | SBCL | LispWorks | Allegro Common Lisp
Required by these libraries
cl-gdata | (INCF CL) | cl-uri-templates | evol | DE.SETF.AMQP: a Common Lisp client library for AMQ... | uri-template | CL-WIKI | dso-parse | dso-lex | cl-mediawiki | trivial-irc | Djula | CL-UNICODE | Core Server | cl-selenium | html-entities | HT-AJAX, an AJAX framework for Hunchentoot | cl-perec | cl-wdim | Lisp Blosxom | Clickr & Automatr
Authors and Maintainers
Edi Weitz
Tags
Regular Expression | ASDF installable | BSD
See Also
CL-UNICODE | CL-INTERPOL
Linked from these items
BioBike | The Regex Coach
0 Notes and 0 comments
0 Notes
You must be logged to add a note
0 Comments
You must be logged to add a comment