資料庫 用正規表示式進行搜尋

2021-09-24 16:46:12 字數 1142 閱讀 6860

一、基本字元匹配

regexp後跟的東西作為正規表示式

例:select prod_name from products where prod_name regexp '1000' order by prod_name;

1、.是正規表示式語言中乙個特殊的字元,它表示匹配任意乙個字

2、進行or匹配:為搜尋兩個串之一,使用|

例:regexp '1000|2000' --->表示匹配其中之一

3、匹配幾個字元之一

例:regexp '[123] ton' -->表示匹配1或2或3

4、匹配範圍

例:[0123456789]--[0-9]

5、匹配特殊字元:為了匹配特殊字元,必須 用\\為前導

例:\\-表示查詢-   \\.表示查詢.

6、匹配字元類

[:alnum:]    任意字母和數字(同[a-za-z0-9])

[:alpha:]     任意字元(同[a-za-z])

[:blank:]    空格和製表(同[\\t])

[:cntrl:]   ascii控制字元

[:digit:]  任意數字

[:graph:]  與[:print:]相同,但不包括空格

[:lower:]  任意小寫字母

[:print:]  任意可列印字元

[:punct:]  既不在[:alnum:]又不在[:cntrl:]中的任意字元

[:space:]  包括空格在內的任意空白字元

[:upper:]   任意大寫字元(同[a-z])

[:xdigit:]  任意十六進製制數字(同[a-fa-f0-9])

7、匹配多個例項

*:0個或多個匹配

+:1個或多個匹配

?:0個或1個匹配

:指定數目的匹配

:不少於指定數目的匹配

:匹配數目的範圍

例:regexp '\\[0-9] sticks?\\'  -->[0-9]匹配任意數字,sticks?匹配stick和sticks(s後的?使s可選,因為?匹配它前面的任何字元的0次或1次出現)

8、定位符

^  文字的開始

$  文字的結尾

[[:<:]]  詞的開始

[[:>:]]  詞的結尾

SQL正規表示式進行搜尋

基本字元匹配 select prod name from products where prod name regexp 000 order by prod name 分析 這裡使用了正規表示式 000,是正規表示式語言中乙個特殊的字元。它表示匹配任意乙個字元,因此,1000和2000都匹配且返回。...

資料庫學習 使用正規表示式搜尋

一 正規表示式介紹 正規表示式是用來匹配文字的特殊的串 字元集合 二 使用mysql正規表示式 1 mysql僅僅支援多數正規表示式實現的乙個很小的子集。2 like匹配整個列值 而regexp匹配列值的子串,如果被匹配的文字在列值中出現,regexp將會找到它,相應的行將被返回。看下面的例子 sq...

MYSQL 9 用正規表示式進行搜尋

1 列值中包含1000即可 select prod name from products where prod name regexp 1000 order by prod name 2 like匹配整個列,以下為列值全名是1000才可以。select prod name from products...