PATTERN |
模式匹配的是什麼 |
* |
#在它之前的零個或多個字串實例 |
|
在它之前的一個或多個字串實例 |
. |
任何一個角色 |
? |
符合前面的字串的零個或一個實例。 |
^ |
插入符號(^)符合字串的開頭 |
$ | ##字串結束 |
[abc] | #方括號之間列出的任何字元 |
[^abc] | 方括號之間未列出的任何字元 |
[A-Z] | 符合任何大寫字母。 |
[a-z] | 符合任何小寫字母 |
[0-9] | 符合從0到9的任何數字。 |
[[:<:]] | 符合單字的開頭。 |
[[:>:]] | 符合單字的結尾。 |
[:class:] | 匹配一個字元類,即[:alpha:]匹配字母,[:space:]匹配空格,[:punct:]符合標點符號,[:upper:]符合上層字母。 |
p1|p2|p3 | 輪替; 符合任何模式p1,p2或p3 |
##{n}
n前面元素的實例 |
|
{m,n}
#m到前面元素的n個實例 |
|
舉例說明:
符合字串開頭(^):
#給出所有以「sa」開頭的名稱。例——sam,samarth。
SELECT name FROM student_tbl WHERE name REGEXP '^sa';
登入後複製
符合字串的結尾($):
給出所有以「on」結尾的名稱。範例-norton,merton.
SELECT name FROM student_tbl WHERE name REGEXP 'on$';
登入後複製
符合它前面字串的零個或一個實例(?):
給出所有包含「com」的標題。範例-comedy , romantic comedy.
SELECT title FROM movies_tbl WHERE title REGEXP 'com?';
登入後複製
符合p1、p2或p3(p1|p2|p3)中的任何模式:
給出所有包含「be ”或“ae”的名稱。範例-Abel, Baer.
SELECT name FROM student_tbl WHERE REGEXP 'be|ae' ;
登入後複製
符合方括號([abc])中所列的任何字元:
給出包含「j」或「z ”的所有名稱。例-Lorentz, Rajs.
SELECT name FROM student_tbl WHERE REGEXP '[jz]' ;
登入後複製
符合' a '到' z ' - ([a-z]) ([a-z]和(.)之間的任何小寫字母:
#檢索包含字母「b」和「g」範圍內的所有名稱,後面跟著任意字符,後面跟著字母「a」。例如,Tobias, sewall.
匹配任何單個字符(.)
SELECT name FROM student_tbl WHERE REGEXP '[b-g].[a]' ;
登入後複製
符合任何不在方括號中列出的字元。([^abc]):
給出所有不包含「j」或「z」的名稱。例如: nerton, sewall.
SELECT name FROM student_tbl WHERE REGEXP '[^jz]' ;
登入後複製
匹配單字結尾[[:>:]]:
給出所有以字元「ack」結尾的標題。範例——Black.
SELECT title FROM movies_tbl WHERE REGEXP 'ack[[:>:]]';
登入後複製
匹配單字開頭[[:<:]]:
給出所有以字元「for」開頭的標題。範例- Forgetting Sarah Marshal.
SELECT title FROM movies_tbl WHERE title REGEXP '[[:<:]]for';
登入後複製
匹配一個字符類別[:class:]:
i.e [:lower:]-小寫字符,[:digit:] -數字字元等。
只給出包含字母字元的所有標題。範例-stranger things, Avengers.
SELECT title FROM movies_tbl WHERE REGEXP '[:alpha:]' ;
登入後複製
本篇文章就是關於mysql正則表達式(Regexp)的範例詳解,希望對需要的朋友有幫助!