LPeg is a new pattern-matching library for Lua, based on Parsing
Expression Grammars (PEGs).
The library offers several functions to create and compose
patterns. With the use of metamethods, several of these functions are
provided as infix or prefix operators. On the one hand, the result is
usually much more verbose than the typical encoding of patterns using
the so called regular expressions (which typically are not regular
expressions in the formal sense). On the other hand, first-class
patterns allow much better documentation (as it is easy to comment
the code, to break complex definitions in smaller parts, etc.) and
are extensible, as we can define new functions to create and compose
patterns.