mysql正則表達式(Regexp)的示例詳解

mysql支持基于正則表達式regexp運算符的另一種模式匹配操作。(相關推薦:《mysql教程》)

mysql正則表達式(Regexp)的示例詳解

1.它提供了強大而靈活的模式匹配,可以幫助我們為數據庫系統實現power搜索實用程序。

2.REGEXP是執行正則表達式模式匹配時使用的運算符。

3.RLIKE是同義詞。它還支持許多元字符,這些元字符在執行模式匹配時可以提供更大的靈活性和控制。

4.反斜杠用作轉義字符。如果使用了雙反斜杠,則僅在模式匹配中考慮。

5.不區分大小寫。

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[[:&gt;:]]';

匹配單詞開頭[[:<:>

給出所有以字符“for”開頭的標題。例子-Forgetting Sarah Marshal.

SELECT?title?FROM?movies_tbl?WHERE?title?REGEXP?'[[:<:><p><strong>匹配一個字符類[:class:]:</strong></p> <p>i.e [:lower:]-小寫字符,[:digit:] -數字字符等。</p> <p>只給出包含字母字符的所有標題。例子-stranger things, Avengers.</p> <pre class="brush:php;toolbar:false">SELECT?title?FROM?movies_tbl?WHERE?REGEXP?'[:alpha:]'?;

本篇文章就是關于mysql正則表達式(Regexp)的示例詳解,希望對需要的朋友有吧幫助!

? 版權聲明
THE END
喜歡就支持一下吧
點贊9 分享