Comparison of regular expression engines


This is a comparison of regular expression engines.

Libraries

NameOfficial websiteProgramming languageSoftware licenseUsed by
Boost.RegexC++Notepad++ >= 6.0.0, EmEditor
BoostXpressiveC++
DEELXC++
FREJJava
GLib/GRegexC
GNU regexCGNU libc, GNU programs
GRETAC++
RTL, HLSFPGA accelerated >100 Gbit/s regex engine for cybersecurity, financial, e-commerce industries.
HyperscanC, x86-specific assembly Rspamd
ICUC, C++Foundation
IrregexpC++Chrome, Firefox, Node.js
Jakarta RegexpJava
java.util.regexJavajEdit
JRegexJava
MATLAB
OnigurumaCAtom, Take Command Console, Tera Term, TextMate, Sublime Text, SubEthaEdit, EmEditor, jq, Ruby
Java port of OnigurumaJavaJRuby, Nashorn (JavaScript engine)
PattwoStevesoftJava
Perl Compatible [Regular Expressions|PCRE]C, C++Apache HTTP Server, Nginx, BBEdit, Edbrowse, Julia, HHVM, Notepad++ < 6.0.0, PHP, Delphi, R, Exim, SWI-Prolog, Elixir, Erlang
Qt/QRegExp C++Kate, Kile
regex - Henry Spencer's regular expression librariesC
RE2C++Go, Google Sheets, Gmail, G Suite
Henry Spencer's Advanced Regular ExpressionsC
RGXC++ based component library
RXPRTLhardware-accelerated search acceleration using RegEx available for ASIC, FPGA and cloud. Enables massively parallel content processing at ultra-high speeds.
SubRegC
TPerlRegExObject Pascal
TRECmusl
TRegexJavaGraalVM
TRegExpr,,
Object PascalTotal Commander
Wolfram Language Wolfram LanguageMathematica, the Wolfram Development Platform
XRegExpJavaScript
YARRC++Safari, WebKit-based browsers, QML

Language features

NOTE: An application using a library for regular expression support does not necessarily support the full set of features of the library, e.g., GNU grep uses PCRE, but supports no lookahead, though PCRE does.