精品一区二区国语对白,国产成人精品三上悠亚久久,欧美性猛交xxxx88,亚洲中文字幕国产av,极品少妇被猛得白浆直流草莓视频,91精品成人www

行業(yè)產(chǎn)品

  • 行業(yè)產(chǎn)品

安徽思成儀器技術(shù)有限公司


當(dāng)前位置:安徽思成儀器技術(shù)有限公司>技術(shù)文章>mysql 正則匹配中文,MySQL正則表達(dá)式匹配查詢(xún)
技術(shù)文章

mysql 正則匹配中文,MySQL正則表達(dá)式匹配查詢(xún)

閱讀:16發(fā)布時(shí)間:2024-11-23

MySQL正則表達(dá)式匹配查詢(xún) 一、正則表達(dá)式介紹

? 在過(guò)濾的時(shí)候允許使用匹配、比較和通配符尋找數(shù)據(jù)。對(duì)于基本的過(guò)濾,這些可能就足夠了。但是隨著過(guò)濾條件復(fù)雜性的增加,where子句本身的復(fù)雜性也有必要增加。

? 這里簡(jiǎn)單介紹一下使用正則表達(dá)式匹配搜索。所有種類(lèi)的程序設(shè)計(jì)語(yǔ)言、文本編輯器、操作系統(tǒng)都支持正則表達(dá)式。很多程序員都將正則表達(dá)式作為自己的技能。熟練使用正則表達(dá)式,可以幫助我們減少很多的麻煩。

? 正則表達(dá)式用正則表達(dá)式語(yǔ)言來(lái)建立,正則表達(dá)式語(yǔ)言是用來(lái)完成過(guò)濾、匹配類(lèi)工作的一種特殊語(yǔ)言。與其他語(yǔ)言一樣,它用于自己的特殊的語(yǔ)法和指令。

二、使用正則表達(dá)式

? 正則表達(dá)式的作用是匹配文本,將一個(gè)模式與一個(gè)文本串進(jìn)行比較,根據(jù)自定義的模式,過(guò)濾出你需要的數(shù)據(jù)。MySQL的正則表達(dá)式只是正則表達(dá)式的一個(gè)子集。

測(cè)試數(shù)據(jù)

mysql> select * from regexp_test;+------+----------+| id   | name     |+------+----------+|    1 | xiaoming ||    2 | xiaohong ||    3 | xiaohua  ||    4 | zhangsan ||    5 | lisi     ||    6 | liwu     ||    7 | liliu9   |+------+----------+7 rows in set (0.00 sec)

1.基本字符匹配

使用like匹配name為xiao的用戶(hù),需要借助通配符%

mysql> select * from regexp_test where name like 'xiao%';+------+----------+| id   | name     |+------+----------+|    1 | xiaoming ||    2 | xiaohong ||    3 | xiaohua  |+------+----------+3 rows in set (0.01 sec)mysql> explain select * from regexp_test where name like 'xiao%';

使用regexp匹配name為xiao的用戶(hù),無(wú)需借助任何通配符

regexp在列值內(nèi)進(jìn)行匹配,如果被匹配的文本在列值中出現(xiàn),regexp將會(huì)找到他,相應(yīng)的行將被返回。

regexp正則表達(dá)式匹配不區(qū)分大小寫(xiě)

mysql> select * from regexp_test where name regexp 'xiao';+------+----------+| id   | name     |+------+----------+|    1 | xiaoming ||    2 | xiaohong ||    3 | xiaohua  |+------+----------+3 rows in set (0.00 sec)

正則表達(dá)式 中文匹配_mysql 正則匹配中文_mysql正則匹配并替換

2.OR匹配

使用or匹配多個(gè)符合條件的數(shù)據(jù)

mysql> select * from regexp_test where id = 1 or id = 2;+------+----------+| id   | name     |+------+----------+|    1 | xiaoming ||    2 | xiaohong |+------+----------+2 rows in set (0.00 sec)

使用regexp匹配多個(gè)符合條件的數(shù)據(jù)

使用regexp的|功能類(lèi)似于在select中使用or

mysql> select * from regexp_test where id regexp '1|2';+------+----------+| id   | name     |+------+----------+|    1 | xiaoming ||    2 | xiaohong |+------+----------+2 rows in set (0.00 sec)

3.模糊匹配

使用or模糊匹配

mysql> select * from regexp_test where id = 1 or id = 2 or id = 8;+------+----------+| id   | name     |+------+----------+|    1 | xiaoming ||    2 | xiaohong |+------+----------+2 rows in set (0.00 sec)

使用|匹配其中符合條件的

mysql> select * from regexp_test where id regexp '1|2|8';+------+----------+| id   | name     |+------+----------+|    1 | xiaoming ||    2 | xiaohong |+------+----------+2 rows in set (0.00 sec)

使用[]匹配符合條件

mysql> select * from regexp_test where id regexp '[128]';+------+----------+| id   | name     |

正則表達(dá)式 中文匹配_mysql正則匹配并替換_mysql 正則匹配中文

+------+----------+| 1 | xiaoming || 2 | xiaohong |+------+----------+2 rows in set (0.00 sec)

4.匹配范圍

[123456789]即為匹配到123456789這個(gè)集合

[1-9]即為匹配到123456789這個(gè)集合

[a-z]匹配任意字母

mysql> select * from regexp_test where name regexp '[a-z]';+------+----------+| id   | name     |+------+----------+|    1 | xiaoming ||    2 | xiaohong ||    3 | xiaohua  ||    4 | zhangsan ||    5 | lisi     ||    6 | liwu     ||    7 | liliu9   |+------+----------+7 rows in set (0.00 sec)mysql> select * from regexp_test where id regexp '[0-9]';+------+----------+| id   | name     |+------+----------+|    1 | xiaoming ||    2 | xiaohong ||    3 | xiaohua  ||    4 | zhangsan ||    5 | lisi     ||    6 | liwu     ||    7 | liliu9   |+------+----------+7 rows in set (0.00 sec)

5.匹配特殊字符

.和-在正則表達(dá)式中是特殊字符,需要使用兩個(gè)雙引號(hào)//轉(zhuǎn)義,例如//-表示查找-,例如//.表示查找.

原字符說(shuō)明

//f

換頁(yè)

//n

換行

//r

回車(chē)

/

制表

//v

縱向制表

至于為什么要有兩個(gè)反斜杠,MySQL要求需要兩個(gè),一個(gè)是MySQL自身需要,一個(gè)正則表達(dá)式需要

mysql 正則匹配中文_正則表達(dá)式 中文匹配_mysql正則匹配并替換

## 模擬插入一條帶.的數(shù)據(jù)mysql> insert into regexp_test values(8,'z.y');## 因?yàn)?匹配任意字符,所以會(huì)把所有數(shù)據(jù)都匹配到mysql> select * from regexp_test where name regexp '.';+------+----------+| id   | name     |+------+----------+|    1 | xiaoming ||    2 | xiaohong ||    3 | xiaohua  ||    4 | zhangsan ||    5 | lisi     ||    6 | liwu     ||    7 | liliu9   ||    8 | z.y      |+------+----------+8 rows in set (0.00 sec)## 當(dāng)使用兩個(gè)反斜杠轉(zhuǎn)義后,查詢(xún)出的結(jié)果和我們的期望一致mysql> select * from regexp_test where name regexp '//.';+------+------+| id   | name |+------+------+|    8 | z.y  |+------+------+1 row in set (0.00 sec)

6. 匹配字符類(lèi)

存在找出經(jīng)常使用使用數(shù)字、所有字母字符或所有數(shù)字字母字符的匹配。為方便使用,可以采取預(yù)定義的字符集,稱(chēng)為字符類(lèi)。

類(lèi)說(shuō)明

[:alnum:]

任意字符和數(shù)字,同[a-zA-Z0-9]

[:alpha:]

任意字符,同[a-zA-Z]

[:blank:]

空格和制表,同[/]

[:cntrl:]

ASCAII控制字符mysql 正則匹配中文,ASCAII 0 到31和127

[:digit:]

任意數(shù)字,同[0-9]

[:graph:]

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

[:lower:]

任意小寫(xiě)字母,同[a-z]

[:print:]

任意可打印字符

[:punct:]

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

[:space:]

包括空格在內(nèi)的任意空白字符,同[//f//n//r///v]

[:upper:]

mysql 正則匹配中文_mysql正則匹配并替換_正則表達(dá)式 中文匹配

任意大寫(xiě)字母,同[A-Z]

[:xdigit:]

任意十六進(jìn)制數(shù)字,同[a-fA-F0-9]

7.匹配多個(gè)實(shí)例

? 目前為止使用的所有正則表達(dá)式都嘗試匹配單次出現(xiàn)。如果存在一個(gè)匹配,該行被檢索出來(lái),如果不存在mysql 正則匹配中文,檢索不出任何行。但有時(shí)需要對(duì)匹配的數(shù)目進(jìn)行更強(qiáng)的控制。例如,你可能需要尋找所有的數(shù),不管數(shù)中包含多少數(shù)字,或者你可能想尋找一個(gè)單詞并且能夠適應(yīng)一個(gè)跟隨的字符,等。

元字符說(shuō)明

*

0個(gè)或多個(gè)匹配

+

1個(gè)或多個(gè)匹配

?

?匹配它前面的任何字符的0次活1次出現(xiàn)

{n}

數(shù)目的匹配

{n,}

不少于數(shù)目的匹配

{n,m}

匹配數(shù)目的范圍(m不超過(guò)255)

例一:匹配到滿(mǎn)足xiaoh和xiao的數(shù)據(jù)

mysql> select * from regexp_test where name regexp 'xiaoh?';+------+----------+| id   | name     |+------+----------+|    1 | xiaoming ||    2 | xiaohong ||    3 | xiaohua  |+------+----------+3 rows in set (0.01 sec)

例二 :仔細(xì)觀察{4}和{1}匹配到數(shù)據(jù)的不同點(diǎn)

## 匹配4個(gè)連續(xù)小寫(xiě)字母mysql> select * from regexp_test where name regexp '[a-z]{4}';+------+----------+| id   | name     |+------+----------+|    1 | xiaoming ||    2 | xiaohong ||    3 | xiaohua  ||    4 | zhangsan ||    5 | lisi     ||    6 | liwu     ||    7 | liliu9   |+------+----------+7 rows in set (0.00 sec)## 匹配1個(gè)連續(xù)小寫(xiě)字母mysql> select * from regexp_test where name regexp '[a-z]{1}';+------+----------+| id   | name     |+------+----------+|    1 | xiaoming |

mysql 正則匹配中文_mysql正則匹配并替換_正則表達(dá)式 中文匹配

| 2 | xiaohong || 3 | xiaohua || 4 | zhangsan || 5 | lisi || 6 | liwu || 7 | liliu9 || 8 | z.y |+------+----------+8 rows in set (0.00 sec)

8.定位符

? 以上介紹中都是匹配到一個(gè)字符串中任意位置的文本。為了匹配特定位置的文本,可以參考使用定位符:

元字符說(shuō)明

^

文本開(kāi)始

$

文本結(jié)尾

[[::]]

詞的結(jié)尾

notes:特別需要注意的是,當(dāng)在`[]`內(nèi)的時(shí)候代表的是否定該集合,當(dāng)在[]外的時(shí)候代表的是文本開(kāi)始

案例一:匹配以數(shù)字結(jié)尾

mysql> select * from regexp_test where name regexp '[a-z][0-9]$';+------+--------+| id   | name   |+------+--------+|    7 | liliu9 |+------+--------+1 row in set (0.01 sec)

案例二:匹配以數(shù)字開(kāi)頭

mysql> select * from regexp_test where name regexp '^[0-9][a-z]';+------+-------+| id   | name  |+------+-------+|    9 | 1zbc  ||   10 | 1qwr2 |+------+-------+2 rows in set (0.00 sec)

案例三:匹配以數(shù)字開(kāi)頭,以數(shù)字結(jié)尾

mysql> select * from regexp_test where name regexp '^[0-9][a-z]*[0-9]$';+------+-------+| id   | name  |+------+-------+|   10 | 1qwr2 |+------+-------+1 row in set (0.00 sec)


儀表網(wǎng) 設(shè)計(jì)制作,未經(jīng)允許翻錄必究 .? ? ? Copyright(C)?2021 http://wididy.cn,All rights reserved.

以上信息由企業(yè)自行提供,信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性由相關(guān)企業(yè)負(fù)責(zé),儀表網(wǎng)對(duì)此不承擔(dān)任何保證責(zé)任。 溫馨提示:為規(guī)避購(gòu)買(mǎi)風(fēng)險(xiǎn),建議您在購(gòu)買(mǎi)產(chǎn)品前務(wù)必確認(rèn)供應(yīng)商資質(zhì)及產(chǎn)品質(zhì)量。

會(huì)員登錄

×

請(qǐng)輸入賬號(hào)

請(qǐng)輸入密碼

=

請(qǐng)輸驗(yàn)證碼

收藏該商鋪

請(qǐng) 登錄 后再收藏

提示

您的留言已提交成功!我們將在第一時(shí)間回復(fù)您~
江油市| 扎囊县| 蓝田县| 遵义县| 平山县| 泾川县| 神池县| 右玉县| 元谋县| 鹤岗市| 陈巴尔虎旗| 壶关县| 义马市| 库尔勒市| 浮梁县| 峡江县| 吕梁市| 且末县| 清流县|