# NREX: Node RegEx [![Build Status](https://travis-ci.org/leezh/nrex.svg?branch=master)](https://travis-ci.org/leezh/nrex) ** Version 0.2 ** Small node-based regular expression library. It only does text pattern matchhing, not replacement. To use add the files `nrex.hpp`, `nrex.cpp` and `nrex_config.h` to your project and follow the example: nrex regex; regex.compile("^(fo+)bar$"); nrex_result captures[regex.capture_size()]; if (regex.match("foobar", captures)) { std::cout << captures[0].start << std::endl; std::cout << captures[0].length << std::endl; } More details about its use is documented in `nrex.hpp` Currently supported features: * Capturing `()` and non-capturing `(?:)` groups * Any character `.` (includes newlines) * Shorthand caracter classes `\w\W\s\S\d\D` * POSIX character classes such as `[[:alnum:]]` * Bracket expressions such as `[A-Za-z]` * Simple quantifiers `?`, `*` and `+` * Range quantifiers `{0,1}` * Lazy (non-greedy) quantifiers `*?` * Begining `^` and end `$` anchors * Word boundaries `\b` * Alternation `|` * ASCII `\xFF` code points * Unicode `\uFFFF` code points * Positive `(?=)` and negative `(?!)` lookahead * Positive `(?<=)` and negative `(?