mysql中正規表示式的使用

2021-07-14 01:47:47 字數 1887 閱讀 8157

select  name from user where name regexp 'li';

解釋:查詢user表中name欄位內容中包含「li」的所有行;

如果需要區分大小寫,則新增binary欄位,如下

select  name from user where name regexp binary  'li';

2.or匹配(多個條件之間存在 與關係)

select  name from user where name regexp 'li|zhao';

解釋:查詢user表中name欄位內容中包含「li」或者「zhao」的所有行;

select  name from user where name regexp '[123]li';

解釋:查詢user表中name欄位內容中包含「1li」或者「2li」或者「3li」的所有行;

3.匹配範圍

select  name from user where name regexp '[1-3]li';

解釋:查詢user表中name欄位內容中包含「1li」或者「2li」或者「3li」的所有行,[1-3]表示匹配1到3;

4.匹配特殊數字符

在正規表示式中,我們都知道特殊字元代表著特殊的含義。例如「.」匹配任意字元,如果使用regexp  '.' 來查詢資料,則會匹配所有資料;如果想要查詢包含「.」的資料,則需要在特殊字元前加"\\",如下:

select  name from user where name regexp '\\.';

5.匹配字符集

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

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

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

[:cntrl:] ascii控制字元(ascii 0到31和127)

[:digit:] 任意數字(同[0-9])

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

[:lower:] 任意小寫字母(同[a-z])

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

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

[:space:] 包括空格在內的任意空白字元(同[\\f\\n\\r\\t\\v])

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

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

6.匹配多個例項

select  name from user where name regexp 『\\([0-9] sticks?\\)』;

解釋:\\(匹配(,[0-9]匹配任意數字(這個例子中為1和5),sticks?匹配stick和sticks(s後的?使s可選,因為?匹配它前面的任何字元的0次或1次出現),\\)匹配)。沒有?,匹配stick和sticks會非常困難。

7.定位符

前面的所有例子都是匹配乙個串中任意位置的文字。為了匹配特定位置的文字,需要如下的幾種定位符。

^ 文字的開始

$ 文字的結尾

[[:<:]] 詞的開始

[[:>:]] 詞的結尾

例如,如果你想找出以乙個數(包括以小數點開始的數)開始的所有使用者,怎麼辦?簡單搜尋[0-9\\.](或[[:digit:]\\.])不行,因為它將在文字內任意位置查詢匹配。解決辦法是使用^定位符,如下所示:

select  name from user where name regexp 『^[0-9\\.]』;

^匹配串的開始。因此,^[0-9\\.]只在.或任意數字為串中第乙個字元時才匹配它們。

MySQL中正規表示式的使用

1.正規表示式是需要用來檢索或者是替換那個符合某個模式的文字內容,根據指定的匹配模式匹配文字中符合要求的特殊字段。2.正規表示式常用介紹 1 表示匹配文字的開始字元,例如 b 表示匹配以b字母開始的字串 2 表示匹配文字的結束字元,例如 b 表示匹配以b字母結尾的字串 3 表示匹配任意的文字字元,例...

PLSQL中正規表示式使用

原 2018年10月08日 14 48 11 寫 也要符合基本法 閱讀數 2008 更多分類專欄 oracle學習筆記 regexp like 返回指定字串是否符合給定的正規表示式 regexp substr 返回在指定字串中截取出的符合給定正規表示式的子串 regexp instr 返回在指定字串...

python中正規表示式使用

1 正規表示式的常用操作符 操作符說明例項 表示任何單個字元 字符集,對單個字元給出取值範圍 abc 表示a b c,a z 表示a到z單個字元 非字符集,對單個字元給出排除範圍 abc 表示非a或b或c的單個字元 前乙個字元0次或無限次擴充套件 abc 表示ab abc abcc abccc等 前...