四 萬用字元過濾 正規表示式

2022-08-16 02:24:12 字數 2369 閱讀 5026

為在搜尋子句中使用萬用字元,必須使用 like 操作符。 like 指示mysql,後跟的搜尋模式利用萬用字元匹配而不是直接相等匹配進行比較。

1. %:任何字元出現任意次數。

select column_name1 from table_name where column_name2 like 'jet%';

檢索以jet開頭的資料,預設不區分大小寫。

2. _: 下劃線匹配單個字元

只匹配乙個字元,不能多也不能少,不能像%萬用字元一樣匹配0個或多個。

3.萬用字元使用規則

4.正規表示式regexp

select column_name from table_name where column_name regexp '1000';
檢索column_name欄位中含有字元1000的資料。比如:jef1000sad;

如果使用like,那麼它將不會匹配jef1000sad中的1000,因為like是全詞匹配。

(1) .(點號)表示匹配任意乙個字元

select column_name from table_name where column_name regexp '.000';
檢索含有'000'前面有乙個字元的資料。比如:

ssfdd1000

dsafd2000

這兩個都可以。

(2) or匹配

select column_name from table_name where column_name regexp '100|101';
把要匹配的內容用單引號括起來,此語句匹配欄位中含有100或者101的值。是含有,而不是全詞匹配。(3) 匹配幾個字元之一。

使用中括號:

select column_name from table_name where column_name regexp '[35] tom';
此語句匹配含有『3 tom』或者『5 tom』的字段值。注意不是全詞匹配,含有就行。

此外還可以進行範圍匹配:

(4)匹配特殊字元。

如果我們要查詢字段值中含有『.』的值,假如我們使用:

... regexp '.';
那麼我們將匹配中所有字段,因為在正規表示式中點號表示匹配任意乙個字元。所以我們需要轉義

select column_name from table_name where column_name regexp '\\.';
特殊字元匹配:

(5) 匹配字元類

舉個例子,匹配含有空格的字段值,不僅可以使用:

... regexp ' ';
還可以根據上表中的[:blank:]:

select name from tb2 where name regexp '[[:blank:]]';
記住外面還需要套上個中括號才行。

(6) 匹配多個例項

舉兩個例子:

字元's'後面跟的問號表示匹配0個或1個,所以可以匹配到含有'stick'或者'sticks'.

第乙個正規表示式匹配任意出現的數字,而又規定了出現4次,所以這個語句檢索連續出現4個數字的字段值。

(7) 定位符

我們上面用的正規表示式都是在字段值中的任意位置進行匹配,但假如我們要檢索開頭的某些字元的字段值呢?

開頭:^

select name from tb2 where name regexp '^[1-5]';
檢索開頭是以1或2或3或4或5的字段值。

結尾:$

select name from tb2 where name regexp '[mo]$';
檢索以字元m或者o結尾的字段值。

^符號還有乙個用途:

在中括號中間表示檢索不在這個集合中間的值:

select name from tb2 where name regexp '[^1-3 tom]';
此語句是檢索除了'1 tom','2 tom','3 tom'以外的字段值。可以看做全詞否定。

MySql萬用字元過濾,正規表示式過濾

百分號萬用字元 在搜尋串中,表示任意字元出現的任何次數。1 找出所有以jet開頭的產品 select prod name,prod price from products where prod name like jet 2 匹配任何位置包含文字anvil的值 select prod name,pr...

RHCE 學習筆記(17) 萬用字元和正規表示式

原始出處 作者資訊和本宣告。否則將追究法律責任。這一節學習了萬用字元和正規表示式在grep裡面使用。首先看看shell下的萬用字元。最最常見的符號如下所示 數字 0 9 字母 a z 非字母 a z 非數字 0 9 任意符號 轉義符號 大寫 upper 小寫 lower 數字 digit 字母 al...

萬用字元 正規表示式

萬用字元 萬用字元是系統級別的 而正規表示式需要相關 工具和語 言的 支援 egrep,awk,vi,perl。當您鍵入 ls txt 命令並按 enter 後,尋找哪些檔案同 txt 模式相匹配的任務不是由 ls 命令,而是由 shell 自己完成。這需要對命令列是如何被 shell 解析的作進一...