日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

php mysql 正则表达式_MYSQL使用正则表达式过滤数据_MySQL

發布時間:2025/3/20 数据库 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php mysql 正则表达式_MYSQL使用正则表达式过滤数据_MySQL 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、正則與LIKE的區別

Mysql的正則表達式僅僅使SQL語言的一個子集,可以匹配基本的字符、字符串。

例如:select * from wp_posts where post_name REGEXP'hello',可以檢索出列post_name中所有包含hello的行

REGEXP'.og'.是正則表達式中里一個特殊的字符。它表示匹配一個字符,因此,dog,hog,mog等等都能匹配。

注意:

關于LIKE和REGEXP的區別:LIKE匹配整個列。如果被匹配的文本僅在列值中出現,LIKE并不會找到它,相應的行也不會返回(當然,使用通配符除外)。而REGEXP在列值內進行匹配,如果被匹配的匹配的文本在列值中出現,REGEXP將會找到它,相應的行將被返回,這時一個非常重要的差別(當然,如果適應定位符號^和$,可以實現REGEXP匹配整個列而不是列的子集)。

關于大小寫的區分:MySQL中正則表達式匹配(從版本3.23.4后)不區分大小寫。如果要區分大小寫,應該使用BINARY關鍵字,如where post_name REGEXP BINARY 'Hello.000'

二、基本字符匹配

檢索列prod_name 包含文本1000的所有行:

進行OR匹配相當于:或操作 “|”

匹配幾個字符之一只想匹配特定的字符。 可以通過指定一組用[和]括起來的字符來完成。

[456]定義了一組字符,他的意思是匹配4或5或6. []是另一種形式的OR語句。[456]是[4|5|6]的縮寫。匹配范圍

[1-3] a-z都是合法的范圍

匹配特殊字符

正則表達式語言由特殊含義的特殊字符構成。

. 在正則表達式中表示匹配任何一個字符

比如匹配prod_name中包括on字符串的行:

那如何匹配.,[],|,-?

為了匹配特殊字符,必須用\\為前導。 比如\\.表示查找·

匹配字符類

匹配多個實例

再比如 匹配連在一起的4位數字:

sticks? : s后的?使s可選,因為?匹配它前面緊跟的任何字符的0次或者1次出現。

[:digit:]匹配任意數字,因而它為數字的一個集合。{4}確切地要求它前面的字符出現4次。

所以[:digit:]{4}匹配連在一起的任意4位數字。

三、定位符

目前為止所有例子都是匹配一個串中任意為止的文本。為了匹配特定為止的文本,需要使用定位符。

也可以在不使用數據庫的情況下測試正則表達式的正確性:

SELECT 來測試正則表達式,REGEXP檢查總是返回0或1,

SELECT 'HELLO‘ REGEXP '0‘//返回為0

以上就是本文的全部內容,希望對大家的學習有所幫助。

本文原創發布php中文網,轉載請注明出處,感謝您的尊重!

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的php mysql 正则表达式_MYSQL使用正则表达式过滤数据_MySQL的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。