RE/flex regex tools

The regex-centric, fast and flexible scanner generator for C++

RE/flex is a modern powerful alternative to the popular Flex scanner generator tool. RE/flex accepts more expressive lex specifications with Unicode patterns, lazy quantifiers, word boundary anchors and many other enhancements over the Flex lexical analyzer generator. RE/flex generates clean source code lexer classes that are thread-safe. RE/flex accepts Flex specifications and is compatible with Bison (Yacc). RE/flex also offers a fast regex library for C++ that can be used without the RE/flex scanner generator tool.

"The asteroid to kill this dinosaur is still in orbit."    -- Lex Manual

"Optimize: this currently has no effect in Boost.Regex."    -- Boost Manual

"Reflex: a thing that is determined by and reproduces the essential features or qualities of something else."    -- Oxford Dictionary

RE/flex is a scanner generator for C++ that is compatible with Flex and Bison. In a nutshell, RE/flex offers the following:

➤ a regex-centric, Flex-compatible scanner generator for C++;

➤ a feature-rich replacement of the Flex and Lex tools;

➤ a regex library for fast POSIX regular expression matching with extensions to POSIX such as lazy quantifiers, word boundary anchors, Unicode UTF-8, and much more;

➤ an enhancement of Boost.Regex;

➤ a flexible regex library that combines the above in a collection of C++ class templates for pattern matching, searching, scanning, and splitting of strings, files, and streaming data.

See the RE/flex documentation GitHub repo and SourceForge download.

RE/flex is released in free open source and licensed under the BSD-3.