This is a proof of concept Regular Expression engine that handles submatch grouping and backreferences without backtracking. It also supports lookaround with arbitrary regular expressions(including lookbehind with + and *) and reluctant quantifiers. It handles most of the constructs handled by the java.util.regex engine except for UNICODE characters. See http://karthikj1.github.io/JRegexPlus/ for more details. Atomic grouping and possessive quantifiers are not supported but are not necessary since they are primarily a way to work around issues created by backtracking. Non-capturing groups are not supported since they do not provide a significant performance advantage with this engine's method of operation. Some flags supported by Java are not yet supported by this engine - only the comment and the UNIX_LINES flags are relevant in the absence of UNICODE support. The default flag setting is UNIX_LINES on.