MySQL REGEXP_REPLACE() Function
In MySQL, the REGEXP_REPLACE() function replaces each substring of the text String that matches the given regular expression with the given replacement.
By default, The REGEXP_REPLACE() function performs case-insensitive matching.
REGEXP_REPLACE() Syntax
here is MySQL REGEXP_REPLACE() syntax:
REGEXP_REPLACE(str, regexp, replacement)
REGEXP_REPLACE(str, regexp, replacement, position)
REGEXP_REPLACE(str, regexp, replacement, position, occurrence)
REGEXP_REPLACE(str, regexp, replacement, position, occurrence, mode)
Parameters
str- Required. The string to search and replace in.
regexp- Required. The regular expression to which this string is to be matched.
replacement- Required. The string to replace with.
position- Optional. The starting position to start the search. The default is to start from scratch.
occurrence- Optional. It indicates which occurrence of a match to replace. Defaults to replacing all matches.
mode- Optional. The match mode. It indicates how to perform matching.
mode can be one or more values in the followings:
c: Case-sensitivei: Case-insensitivem: Multi-line match patternn: The dot.can match end of lineu: Unix line endings only
If there are conflicting options in mode, the rightmost one takes precedence.
Return value
The REGEXP_REPLACE() function replaces each substring of the text String that matches the given regular expression with the given replacement.
if str, or regexp or replacement is NULL, this function will return NULL.
REGEXP_REPLACE() Examples
Here are some common Examples of REGEXP_REPLACE().
Example 1
SELECT REGEXP_REPLACE('123 abc 456 def', '\\s+', '-');
+------------------------------------------------+
| REGEXP_REPLACE('123 abc 456 def', '\\s+', '-') |
+------------------------------------------------+
| 123-abc-456-def |
+------------------------------------------------+Here replaced all spaces with -.
Example 2
SELECT REGEXP_REPLACE('123 abc 456 def', '\\d+', 'X', 1, 2);
+------------------------------------------------------+
| REGEXP_REPLACE('123 abc 456 def', '\\d+', 'X', 1, 2) |
+------------------------------------------------------+
| 123 abc X def |
+------------------------------------------------------+Here replaced the second substring that has only numbers with X.