MySQL Tutorial/Regular Expressions/Occurrences
{n} or {m,n} notation provides a more general way of writing regular expressions: {1}, {2,3}
{n} or {m,n} notation matches many occurrences of the previous atom (or "piece") of the pattern.
m and n are integers.
- a*: Can be written as a{0,}.
- a+: Can be written as a{1,}.
- a?: Can be written as a{0,1}.
- a{n} matches exactly n instances of a.
- a{n,} matches n or more instances of a.
- a{m,n} matches m through n instances of a, inclusive.
m and n must be in the range from 0 to RE_DUP_MAX (default 255), inclusive.
If both m and n are given, m must be less than or equal to n.
<source lang="sql">
mysql> mysql> SELECT "abcde" REGEXP "a[bcd]{2}e"; +-----------------------------+ | "abcde" REGEXP "a[bcd]{2}e" | +-----------------------------+ | 0 | +-----------------------------+ 1 row in set (0.01 sec)</source>
SELECT "abcde" REGEXP "a[bcd]{1,10}e";
<source lang="sql">
mysql> mysql> SELECT "abcde" REGEXP "a[bcd]{1,10}e"; +--------------------------------+ | "abcde" REGEXP "a[bcd]{1,10}e" | +--------------------------------+ | 1 | +--------------------------------+ 1 row in set (0.00 sec) mysql></source>
SELECT "abcde" REGEXP "a[bcd]{3}e";
<source lang="sql">
mysql> mysql> mysql> SELECT "abcde" REGEXP "a[bcd]{3}e"; +-----------------------------+ | "abcde" REGEXP "a[bcd]{3}e" | +-----------------------------+ | 1 | +-----------------------------+ 1 row in set (0.02 sec)</source>