-
When using multi-line mode (enabled via the
(?m)flag), only\nis recognized as a line terminator. Additionally, the(?d)flag is not supported and must not be used. -
Case-insensitive matching (enabled via the
(?i)flag) is always performed in a Unicode-aware manner. However, context-sensitive and local-sensitive matching is not supported. Additionally, the(?u)flag is not supported and must not be used. -
Surrogate pairs are not supported. For example,
\uD800\uDC00is not treated asU+10000and must be specified as\x{10000}. -
Boundaries (
\b) are incorrectly handled for a non-spacing mark without a base character. -
\Qand\Eare not supported in character classes (such as[A-Z123]) and are instead treated as literals. -
Unicode character classes (
\p{prop}) are supported with the following differences:-
All underscores in names must be removed. For example, use
OldItalicinstead ofOld_Italic. -
Scripts must be specified directly, without the
Is,script=orsc=prefixes. Example:\p{Hiragana} -
Blocks must be specified with the
Inprefix. Theblock=andblk=prefixes are not supported. Example:\p{Mongolian} -
Categories must be specified directly, without the
Is,general_category=orgc=prefixes. Example:\p{L} -
Binary properties must be specified directly, without the
Is. Example:\p{NoncharacterCodePoint}
-
All underscores in names must be removed. For example, use
regexp_count
pattern in string:
regexp_extract_all
pattern
in string:
pattern in string
and returns the capturing group number group:
regexp_extract
pattern
in string:
pattern in
string and returns the capturing group number group:
regexp_like
pattern and determines if it is
contained within string.
The pattern only needs to be contained within
string, rather than needing to match all of string. In other words,
this performs a contains operation rather than a match operation. You can
match the entire string by anchoring the pattern using ^ and $:
regexp_position
pattern in string.
Returns -1 if not found:
regexp_position
pattern in string,
starting from start (include start). Returns -1 if not found:
occurrence of pattern in string,
starting from start (include start). Returns -1 if not found:
regexp_replace
pattern from string:
pattern in string with replacement. Capturing groups can be
referenced in replacement using $g for a numbered group or
${name} for a named group. A dollar sign ($) may be included in the
replacement by escaping it with a backslash (\$):
pattern in string using function. The lambda expression
function is invoked for each match with the capturing groups passed as an
array. Capturing group numbers start at one; there is no group for the entire match
(if you need this, surround the entire expression with parenthesis).
regexp_split
string using the regular expression pattern and returns an
array. Trailing empty strings are preserved: