MySQL Tutorial/Regular Expressions/Not

Материал из SQL эксперт
Перейти к: навигация, поиск

Matches any character that is (or is not, if ^ is used) either a, b, c, d or X: [a-dX], [^a-dX]

A character between two other characters forms a range.

For example, [0-9] matches any decimal digit.

To include a literal ] character, it must immediately follow the opening bracket [.

To include a literal - character, it must be written first or last.

Any character that does not have a defined special meaning inside a [] pair matches only itself.



   <source lang="sql">

mysql> mysql> SELECT "aXbc" REGEXP "[a-dXYZ]"; +--------------------------+ | "aXbc" REGEXP "[a-dXYZ]" | +--------------------------+ | 1 | +--------------------------+ 1 row in set (0.00 sec)</source>


SELECT "abcda" REGEXP "^[^a-dXYZ]+$";

   <source lang="sql">

mysql> mysql> mysql> SELECT "abcda" REGEXP "^[^a-dXYZ]+$"; +-------------------------------+ | "abcda" REGEXP "^[^a-dXYZ]+$" | +-------------------------------+ | 0 | +-------------------------------+ 1 row in set (0.00 sec) mysql></source>


SELECT "abcdeX" REGEXP "^[^a-dXYZ]+$";

   <source lang="sql">

mysql> mysql> SELECT "abcdeX" REGEXP "^[^a-dXYZ]+$"; +--------------------------------+ | "abcdeX" REGEXP "^[^a-dXYZ]+$" | +--------------------------------+ | 0 | +--------------------------------+ 1 row in set (0.00 sec) mysql></source>


SELECT "aXbc" REGEXP "^[a-dXYZ]$";

   <source lang="sql">

mysql> mysql> mysql> SELECT "aXbc" REGEXP "^[a-dXYZ]$"; +----------------------------+ | "aXbc" REGEXP "^[a-dXYZ]$" | +----------------------------+ | 0 | +----------------------------+ 1 row in set (0.00 sec)</source>


SELECT "aXbc" REGEXP "^[a-dXYZ]+$"; (2)

   <source lang="sql">

mysql> mysql> mysql> mysql> SELECT "aXbc" REGEXP "^[a-dXYZ]+$"; +-----------------------------+ | "aXbc" REGEXP "^[a-dXYZ]+$" | +-----------------------------+ | 1 | +-----------------------------+ 1 row in set (0.00 sec)</source>


SELECT "aXbc" REGEXP "^[^a-dXYZ]+$"; (3)

   <source lang="sql">

mysql> mysql> mysql> SELECT "aXbc" REGEXP "^[^a-dXYZ]+$"; +------------------------------+ | "aXbc" REGEXP "^[^a-dXYZ]+$" | +------------------------------+ | 0 | +------------------------------+ 1 row in set (0.02 sec)</source>