程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MYSQL應用正則表達式過濾數據

MYSQL應用正則表達式過濾數據

編輯:MySQL綜合教程

MYSQL應用正則表達式過濾數據。本站提示廣大學習愛好者:(MYSQL應用正則表達式過濾數據)文章只能為提供參考,不一定能成為您想要的結果。以下是MYSQL應用正則表達式過濾數據正文


1、正則與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'

2、根本字符婚配
檢索列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位數字。

3、定位符
今朝為止一切例子都是婚配一個串中隨意率性為止的文本。為了婚配特定為止的文本,須要應用定位符。

也能夠在不應用數據庫的情形下測試正則表達式的准確性:

SELECT 來測試正則表達式,REGEXP檢討老是前往0或1,

SELECT  'HELLO‘  REGEXP '0‘//前往為0

以上就是本文的全體內容,願望對年夜家的進修有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved