最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql正則函數(shù)REGEXP使用及說明

 更新時間:2026年05月18日 09:35:56   作者:yubin1285570923  
本文介紹了MySQL中的正則表達式匹配操作符REGEXP及其在不同版本中的使用方法和差異,包括基本語法、支持的元字符與量詞、版本差異及常用函數(shù)如REGEXP_LIKE、REGEXP_SUBSTR、REGEXP_REPLACE等

在 MySQL 中,REGEXP 是用于‌正則表達式模式匹配‌的操作符,其功能與 RLIKE 相同。

從 MySQL 8.0 開始,還引入了更規(guī)范的函數(shù)形式如 REGEXP_LIKE()、REGEXP_SUBSTR()、REGEXP_REPLACE() 等,增強了正則處理能力。

核心要點‌

基本語法‌

column_name REGEXP ‘pattern’:返回 1(匹配)或 0(不匹配)。

默認‌不區(qū)分大小寫‌,但受字段排序規(guī)則(collation)影響;若需區(qū)分大小寫,可使用 BINARY 或 REGEXP_LIKE(…, ‘c’)。

支持的元字符與量詞‌(基于 Henry Spencer 正則庫,POSIX ERE 子集):

^、$、.、*、+、?、[]、|、{n}、{n,}、{n,m}

不支持‌ \d、\w、\s 等 Perl 風格簡寫,應分別用 [0-9]、[a-zA-Z0-9]、[[:space:]] 替代。

版本差異‌

‌MySQL 5.7 及以下‌:僅支持基本 POSIX BRE,部分語法(如 +、?)需轉(zhuǎn)義或改用 {1,}、{0,1}。

‌MySQL 8.0+‌:采用 ICU 引擎,支持更多 POSIX ERE 特性,推薦使用 REGEXP_LIKE() 等函數(shù)以提高可讀性和控制力。

常用函數(shù)與示例

‌REGEXP_LIKE()(MySQL 8.0+)

SELECT * FROM users WHERE REGEXP_LIKE(email, '^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$', 'c');

REGEXP_SUBSTR()(MySQL 8.0+)‌

提取首次匹配的子串

SELECT REGEXP_SUBSTR('user_123_order_456', '[0-9]+', 1, 1); -- 返回 '123'

REGEXP_REPLACE()(MySQL 8.0+)‌

替換匹配內(nèi)容

SELECT REGEXP_REPLACE('abc123def', '[0-9]+', ''); -- 返回 'abcdef'

REGEXP_INSTR()(MySQL 8.0+)‌

返回匹配位置(從 1 開始)

SELECT REGEXP_INSTR('dog cat dog', 'dog'); -- 返回 1
SELECT REGEXP_INSTR('dog cat dog', 'dog', 2); -- 返回 9(從第2個字符開始找第二次匹配)

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論

木里| 保定市| 来宾市| 都安| 平罗县| 黄梅县| 麟游县| 临漳县| 永寿县| 交城县| 麻江县| 兴安盟| 东方市| 灌南县| 曲周县| 肥城市| 密山市| 连城县| 银川市| 巨鹿县| 木里| 宾川县| 太湖县| 周口市| 商丘市| 井研县| 英山县| 正定县| 米泉市| 班玛县| 封丘县| 韶关市| 林西县| 竹溪县| 当涂县| 卓尼县| 泸溪县| 凌源市| 瓦房店市| 什邡市| 安西县|