欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SQL中的字符串正則表達(dá)式常見示例代碼

 更新時(shí)間:2025年05月17日 14:44:17   作者:宇后初晴_da  
這篇文章主要介紹了SQL中字符串正則表達(dá)式常見示例的相關(guān)資料,包含元字符、轉(zhuǎn)義字符等,廣泛應(yīng)用于表單驗(yàn)證、文本處理及SQL中的字符串查找替換,如郵箱、日期、手機(jī)號匹配,需要的朋友可以參考下

正則表達(dá)式的基本概念

所謂正則表達(dá)式(Regular Expression,簡稱regexregexp)是一種用于匹配字符串中字符組合的模式描述工具。它通過一系列特殊的字符和符號來定義一種約定俗成的規(guī)則,用于查找、匹配、替換或驗(yàn)證字符串中的特定內(nèi)容。在表單提交驗(yàn)證、路由映射、文本處理等方面大放異彩,基本上所有編程語言都有特定的一套正則機(jī)制以供程序員使用。

正則表達(dá)式的基礎(chǔ)字符

正則表達(dá)式由普通字符和特殊符號組成,一共可以分為兩種大類。首先是元字符,由特殊符號組成,代表的是正則匹配中的匹配準(zhǔn)則。轉(zhuǎn)義字符通常由特殊符號\+字符組成,是某種字符表達(dá)類型的統(tǒng)稱,當(dāng)匹配內(nèi)容中本身帶有\時(shí),需要再添加一個(gè)轉(zhuǎn)義,例如\\

元字符

  • .:匹配任意一個(gè)字符(除了換行符)。
  • *:匹配零次或多次的字符或子模式。
  • +:匹配一次或多次的字符或子模式。
  • ?:匹配零次或一次的字符或子模式。
  • {n}:匹配重復(fù)n次的字符或子模式。
  • {n,}:匹配重復(fù)≥n次的字符或子模式。
  • {n,m}:匹配重復(fù)n到m次的字符或子模式。
  • []:匹配方括號內(nèi)的任意一個(gè)字符。
  • [^]:匹配在方括號內(nèi)的任意一個(gè)字符。
  • ^:表示匹配字符串以…開頭。
  • $:表示匹配字符串以…結(jié)尾。
  • ():分組,用于拆解匹配的內(nèi)容。
  • |:邏輯或,表示匹配多種模式中的任意一個(gè)。
  • -:當(dāng)其不在[]內(nèi)則就代表字符-,在[]內(nèi)表示范圍,例如[a-z]表示任意小寫字符。

轉(zhuǎn)義字符

  • \d:匹配任意數(shù)字字符(0-9)。
  • \w:匹配任意字母或數(shù)字或下劃線字符(等價(jià)于 [a-zA-Z0-9_])。
  • \s:匹配任意空白字符(空格、制表符、換行符等)。
  • \b:匹配單詞的開始與結(jié)束,例如\bword\b可以匹配字符串中的整個(gè)單詞word,而不會混淆其他包含word的內(nèi)容。
  • \D:匹配任意非數(shù)字字符。
  • \W:匹配任意非字母、數(shù)字、下劃線字符(等價(jià)于 [^a-zA-Z0-9_])。
  • \S:匹配任意非空白字符。

常見的正則示例

  • 匹配電子郵件地址
\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b

解釋:匹配以字母、數(shù)字、點(diǎn)號、下劃線等開頭(可出現(xiàn)一次或多次),后跟@,再跟轉(zhuǎn)義的.,最后以域名和頂級域名(字母且至少有兩個(gè)字符)結(jié)尾。

  • 匹配日期
\d{4}-\d{2}-\d{2}

解釋:YYYY-MM-DD,匹配四個(gè)數(shù)字,跟-,后跟兩個(gè)數(shù)字,再跟-,最后又是兩個(gè)數(shù)字。

  • 匹配手機(jī)號碼
^1[3-9]\d{9}$

解釋:以1開頭,第二位是39之間的數(shù)字,后面跟著九位數(shù)字結(jié)尾。

  • 匹配網(wǎng)頁元素
<[^>]+>(.*)</[^>]+>

解釋:<xxx>…</xxx>。

SQL中應(yīng)用正則表達(dá)式

字符串查找

在SQL中若要應(yīng)用正則表達(dá)式完成字符串查找功能,篩選出滿足條件的記錄時(shí):

SELECT *
FROM 表名
WHERE 字符串字段 REGEXP '正則表達(dá)式';

注意:僅字符串字段支持使用REGEXP+正則語句進(jìn)行查找功能。

字符串替換

在SQL中若要應(yīng)用正則表達(dá)式完成字符串替換功能時(shí):

SELECT regexp_replace(str, pattern, replace_str, occurrence)
FROM 表名;

其中:

  • str:表示需要應(yīng)用正則替換的字符串表達(dá);
  • pattern:表示正則表達(dá)式,需要帶上英文引號;
  • replace_str:表示當(dāng)匹配到樣式后需要將其替換的新字符串表達(dá);
  • occurrence:取值為整型常量,表示替換的程度,該值取0時(shí)替換掉所有滿足正則條件的匹配子串,大于0時(shí)表示將第幾個(gè)滿足正則條件的匹配子串替換。

常見案例

例題: 查找有效郵箱的用戶

一個(gè)有效的電子郵件具有前綴名稱和域,其中:

  • 前綴名稱是一個(gè)字符串,可以包含字母(大寫或小寫),數(shù)字,下劃線 _,點(diǎn) . 和/或破折號- ;
  • 前綴名稱必須以字母開頭;
  • 域名稱為@leetcode.com 。

代碼:

SELECT user_id, name, mail
FROM Users
WHERE mail REGEXP '^[a-zA-Z][a-zA-Z0-9_.-]*\\@leetcode\\.com$';

總結(jié) 

到此這篇關(guān)于SQL中字符串正則表達(dá)式常見示例代碼的文章就介紹到這了,更多相關(guān)SQL字符串正則表達(dá)式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • sql 刷新視圖

    sql 刷新視圖

    視圖會保存元數(shù)據(jù),列,安全,以及依賴等信息,如果我們把基礎(chǔ)表的架構(gòu)更改了,并不會直接反映到視圖上來;更改架構(gòu)后,使用sp_refreshview存儲過程刷新視圖的元數(shù)據(jù)是一個(gè)好習(xí)慣;
    2009-07-07
  • SQL Server常見問題及解決方法分享

    SQL Server常見問題及解決方法分享

    這篇文章主要為大家詳細(xì)介紹了SQL Server常見問題及解決方法,包括SQL Server連接問題,SQL Server日志問題,SQL Server查詢很久等問題,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • SQL SERVER 自增列

    SQL SERVER 自增列

    判斷Table是否存在自增列(Identity column)
    2009-06-06
  • 獲取SqlServer存儲過程定義的三種方法

    獲取SqlServer存儲過程定義的三種方法

    這篇文章主要介紹了獲取SqlServer存儲過程定義的三種方法的相關(guān)資料,非常不錯,具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-07-07
  • SqlServer中模糊查詢對于特殊字符的處理方法

    SqlServer中模糊查詢對于特殊字符的處理方法

    這篇文章主要介紹了SqlServer中模糊查詢對于特殊字符的處理方法,非常不錯,具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-02-02
  • SQL Server中交叉聯(lián)接的用法詳解

    SQL Server中交叉聯(lián)接的用法詳解

    這篇文章主要介紹了SQL Server中交叉聯(lián)接的用法介紹,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • SQL Server 2012 安裝圖解教程(附sql2012下載地址)

    SQL Server 2012 安裝圖解教程(附sql2012下載地址)

    在安裝微軟最新數(shù)據(jù)庫SQL Server 2012之前,編者先確定一下安裝環(huán)境:Windonws 7 SP1,32位操作系統(tǒng)、CPU是2.1GHz賽揚(yáng)雙核T3500,內(nèi)存2.93GB
    2013-04-04
  • sqlserver禁止management studio的自動提交事務(wù)

    sqlserver禁止management studio的自動提交事務(wù)

    默認(rèn)management studio是自動提交事務(wù),即一個(gè)語句就一個(gè)事務(wù),那么如何禁止其自動提交呢?下面有個(gè)不錯的方法,大家可以參考下
    2014-06-06
  • SqlServer 表單查詢問題及解決方法

    SqlServer 表單查詢問題及解決方法

    這篇文章主要介紹了SqlServer 表單查詢問題及解決方法,非常不錯,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-11-11
  • SQL中Exists的用法

    SQL中Exists的用法

    這篇文章主要介紹了SQL中Exists的用法,非常不錯,具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-02-02

最新評論