.. Jynx documentation master file, created by sphinx-quickstart on Sun Jul 05 12:43:34 2009. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. reverb.py ========= Introduction ------------ This is the revival of a small Python module which lived once on the now abandoned *Vaults of Parnassus* when I entered Python programming about a decade ago. It was originally written and published by `JasonHarper `_ in 1998 on a "free for any use" license. Since then it has slowly faded from the net which I find a bit sad. What is reverb? ~~~~~~~~~~~~~~~ ``reverb.py`` is a tiny wrapper around Pythons ``re`` module which maps regular expressions onto Python expressions for the sake of readability. The module name can be read as "re-verb(ose)". reverb follows the Python tradition of keeping the amount of punctuation small and avoid punctuation collisions. In reverb one writes :: Optional(Digit)+"."+Required(Digit) instead of :: \d*\.\d+ to denote a pattern that matches a floating point number. The reverb reads much like a meta-language explanation of the dense and compact regexp. From a reverb object one can fetch the regexp using the ``text`` attribute :: >>> (Optional(Digit)+"."+Required(Digit)).text '\\d*\\.\\d+' Each reverb object translates to a regexp and it is finally the regexp which is compiled and matched against strings. Reverb in context ~~~~~~~~~~~~~~~~~ I think about ``reverb`` any time I encounter a `regexp learning tool `_ but also `pyparsing `_ which has grown in popularity within the Python community and I suspect it did this for reasons not dissimilar to those intended by ``reverb``: "avoiding line noise when writing regular expressions" in the words of Jason Harper. So I do think it fits a real need. The only significant change I made to reverb is capitalization of names. reverb 1.0 was published when Python 1.5 came out and used identifiers like ``any`` and ``set`` which have now counterparts as builtins in Pythons standard library. Download -------- reverb can be downloaded `here `_ from the Cheaseshop. Table Of Contents ----------------- .. toctree:: :maxdepth: 3 reverb