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.
Formerly called Regex++.
One of fuzzy regular expression engines. /wiki/Regular_expression#Fuzzy_regular_expressions
Included since version 2.13.0.
"Getting Started – Hyperscan 5.4.0 documentation". https://intel.github.io/hyperscan/dev-reference/getting_started.html#requirements
ICU4J, the Java version, does not support regular expressions.
C++ bindings were developed by Google and became officially part of PCRE in 2006.
One of fuzzy regular expression engines. /wiki/Regular_expression#Fuzzy_regular_expressions
"STD.regex - D Programming Language - Digital Mars". http://www.digitalmars.com/d/2.0/phobos/std_regex.html
"Dotnet/Corefx". GitHub. 16 February 2022. https://github.com/dotnet/corefx/blob/7116584186f8f3a886616aaf8cb5d4a982c60e27/src/System.Text.RegularExpressions/src/System/Text/RegularExpressions/Regex.cs#L2
"Dotnet/Corefx". GitHub. 16 February 2022. https://github.com/dotnet/corefx#license
"Regex - Regular Expressions in OCaml". https://stackoverflow.com/questions/3221067#comment3323649_3221067
Non-greedy quantifiers match as few characters as possible, instead of the default as many. Note that many older, pre-POSIX engines were non-greedy and didn't have greedy quantifiers at all. /wiki/POSIX
Shy groups, also called non-capturing groups cannot be referred to with backreferences; non-capturing groups are used to speed up matching where the group's content does not need to be accessed later.
Backreferences enable referring to previously matched groups in later parts of the regex and/or replacement string (where applicable). For instance, ([ab]+)\1 matches "abab" but not "abaab".
"Perl Regular Expression Syntax - 1.47.0". http://www.boost.org/doc/libs/1_47_0/libs/regex/doc/html/boost_regex/syntax/perl_syntax.html#boost_regex.syntax.perl_syntax.recursive_expressions
"User's Guide - 1.47.0". http://www.boost.org/doc/libs/1_47_0/doc/html/xpressive/user_s_guide.html#boost_xpressive.user_s_guide.grammars_and_nested_matches.embedding_a_regex_by_reference
FREJ have no repetitive quantifiers, but have "optional" element which behaves similar to simple "?" quantifier.
FREJ have no repetitive quantifiers, but have "optional" element which behaves similar to simple "?" quantifier.
As of ES2018
"Recursive Regex—Tutorial". https://www.rexegg.com/regex-recursion.php#engines
Lua's only non-greedy quantifier is -, which is a non-greedy version of *. It does not have non-greedy versions of + or ?; in the former case, the non-greedy effect can be achieved by repeating the token followed by -, but in the latter case, there is no equivalent.
Supported by the optional regex library only. https://pypi.org/project/regex/#recursive-patterns-hg-issue-27
As of ES2018
Also known as flags modifiers, modes modifiers or option letters. Example pattern: "(?i:test)".
Also called independent sub-expressions.
Similar to back references, but with names instead of indices.
"UTS #18: Unicode Regular Expressions". https://www.unicode.org/reports/tr18/
Special feature allowing to match balanced constructs without recursion.
Refers to the possibility of including quantifiers in look-behinds, thus making their length unpredictable.
Unicode property support may be incomplete (products are continuously updated!). All will be incomplete when a new Unicode revision is released until they are updated to comply.
Unicode property support may be incomplete (products are continuously updated!). All will be incomplete when a new Unicode revision is released until they are updated to comply.
Unicode property support may be incomplete (products are continuously updated!). All will be incomplete when a new Unicode revision is released until they are updated to comply.
Available as of ICU55.
Available as of JDK7.
Unicode property support may be incomplete (products are continuously updated!). All will be incomplete when a new Unicode revision is released until they are updated to comply.
Unicode property support may be incomplete (products are continuously updated!). All will be incomplete when a new Unicode revision is released until they are updated to comply.
The support and range of properties is dependent on implementation.
"ECMA-262, 9th edition, June 2018 ECMAScript® 2018 Language Specification". www.ecma-international.org. Retrieved 4 August 2020. https://www.ecma-international.org/ecma-262/9.0/#sec-runtime-semantics-unicodematchproperty-p
Unicode property support may be incomplete (products are continuously updated!). All will be incomplete when a new Unicode revision is released until they are updated to comply.
Unicode property support may be incomplete (products are continuously updated!). All will be incomplete when a new Unicode revision is released until they are updated to comply.
Experimental support added in v5.29.9.
Supported by Python v3.11 and later, and the optional regex library only. https://pypi.python.org/pypi/regex
May only be available in the regex library when used with Python versions after 3.3.
Supported by the optional regex library only. https://pypi.python.org/pypi/regex
Unicode property support may be incomplete (products are continuously updated!). All will be incomplete when a new Unicode revision is released until they are updated to comply.
Unicode property support may be incomplete (products are continuously updated!). All will be incomplete when a new Unicode revision is released until they are updated to comply.
Means the format can be used internally without explicit conversion.
Means the format can be used internally without explicit conversion.
Partial match of the whole regular expression. For example the pattern ".*END$" will match any string partially, but only strings ending with END fully.[1]. http://www.boost.org/doc/libs/1_34_1/libs/regex/doc/partial_matches.html
Supports Unicode 15.0 standard from 2023.[2]. https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Character.html
Supports Unicode 15.0 standard from 2023.[2]. https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Character.html
Implementation uses original UCS-2 support/features, so it only recognizes 64K chars total (vs UTF-16's 1,112,064 characters). A Microsoft developer-representative answered a bug report on this as "will not fix" in 2010.[3]. /wiki/UCS-2
Since version 8.30.
Partial matching is performed implicitly, requiring a separate call to matchedLength() if an exact match fails.
Tcl includes facilities to convert to and from UTF-8.
wxRegEx uses any system supplied POSIX library or if not available and for Unicode mode uses Henry Spencer's library. /wiki/POSIX