亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

正則表達(dá)式的學(xué)習(xí)與小結(jié)

系統(tǒng) 2134 0

目前,正則表達(dá)式已經(jīng)在很多軟件中得到廣泛的應(yīng)用,包括*nix(Linux, Unix等),HP等操作系統(tǒng),PHP,C#,Java等開發(fā)環(huán)境,以及很多的應(yīng)用軟件中,都可以看到正則表達(dá)式的影子。

正則表達(dá)式的使用,可以通過簡(jiǎn)單的辦法來實(shí)現(xiàn)強(qiáng)大的功能。為了簡(jiǎn)單有效而又不失強(qiáng)大,造成了正則表達(dá)式代碼的難度較大,學(xué)習(xí)起來也不是很容易,所以需要付出一些努力才行,入門之后參照一定的參考,使用起來還是比較簡(jiǎn)單有效的。

正則表達(dá)式可以:
1. 測(cè)試字符串的某個(gè)模式,例如可以對(duì)一個(gè)輸入字符串進(jìn)行測(cè)試,看該字符串是否存在一個(gè)電話號(hào)碼的模式,這稱為數(shù)據(jù)有效性驗(yàn)證
2. 替換文本,可以在文檔中使用一個(gè)正則表達(dá)式來標(biāo)識(shí)特定文字,然后可以全部將其刪除,或者替換為別的文字
3. 根據(jù)模式匹配從字符串中提取一個(gè)子字符串,可以用來在文本或輸入字段中查找特定文字

正則表達(dá)式的常用字符及其含義

正則表達(dá)式字符

描述

[……]

匹配括號(hào)中的任何一個(gè)字符

[^……]

匹配不在括號(hào)中的任何一個(gè)字符(^為取反符)

/w

匹配任何一個(gè)字符(a~z、A~Z和0~9)

/W

匹配任何一個(gè)空白字符

/s

匹配任何一個(gè)非空白字符

/S

與任何非單詞字符匹配

/d

匹配任何一個(gè)數(shù)字(0~9)

/D

匹配任何一個(gè)非數(shù)字(^0~9)

[/b]

匹配一個(gè)退格鍵字母

{n,m}

最少匹配前面表達(dá)式n次,最大為m次(n-m次數(shù)范圍)

{n,}

最少匹配前面表達(dá)式n次(上限不定)

{n}

恰恰匹配前面表達(dá)式為n次

?

匹配前面表達(dá)式0或1次,即{0,1}

+

至少匹配前面表達(dá)式1次,即{1,}

*

至少匹配前面表達(dá)式0次,即{0,}

|

匹配前面表達(dá)式或后面表達(dá)式(邏輯或)

(…)

在單元中組合項(xiàng)目

^

匹配字符串的開頭

$

匹配字符串的結(jié)尾

/b

匹配字符邊界

/B

匹配非字符邊界的某個(gè)位置

幾個(gè)常用的正則表達(dá)式

  • /w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*: 驗(yàn)證電子郵件:
  • HTTP:///S+/./S+: 驗(yàn)證網(wǎng)址:
  • /d{6}: 驗(yàn)證郵政編碼:
  • [0-9]: 表示0~9十個(gè)數(shù)字。
  • /d*: 表示任意個(gè)數(shù)字。
  • /d{3,4}-/d{7,8}: 表示中國(guó)大陸的固定電話號(hào)碼。
  • /d{2}-/d{5}: 驗(yàn)證由兩位數(shù)字、一個(gè)連字符再加5位數(shù)字組成的ID號(hào)。
  • </s*(/S+)(/s[^>]*)?>[/s/S]*</s*///l/s*>: 匹配HTML標(biāo)記。
  • /d{17}[/d|X]|/d{15}: 身份證


字符描述:

/:將下一個(gè)字符標(biāo)記為特殊字符或字面值。例如"n"與字符"n"匹配。"/n"與換行符匹配。序列"http://"與"/"匹配,"/("與"("匹配。
^ :匹配輸入的開始位置。
$ :匹配輸入的結(jié)尾。
* :匹配前一個(gè)字符零次或幾次。例如,"zo*"可以匹配"zo"、"zoo"。
+ :匹配前一個(gè)字符一次或多次。例如,"zo+"可以匹配"zoo",但不匹配"z"。
? :匹配前一個(gè)字符零次或一次。例如,"n?ve?"可以匹配"never"中的"ve"。
.:匹配換行符以外的任何字符。
(pattern) 與模式匹配并記住匹配。匹配的子字符串可以從作為結(jié)果的

Matches 集合中使用 Item [0]...[n]取得。如果要匹配括號(hào)字符(和 ),可使用"/(" 或 "/)"。
x|y:匹配 x 或 y。例如 "z|food" 可匹配 "z" 或 "food"。"(z|f)ood" 匹配 "zood" 或 "food"。
{n}:n 為非負(fù)的整數(shù),匹配恰好n次。例如,"o{2}" 不能與 "Bob 中的 "o" 匹配,但是可以與"foooood"中的前兩個(gè)o匹配。
{n,} :n 為非負(fù)的整數(shù),匹配至少n次。例如,"o{2,}"匹配"foooood"中所有的o,"o{1,}"等價(jià)于"o+";"o{0,}"等價(jià)于"o*"。
{n,m} :m 和 n 為非負(fù)的整數(shù)。匹配至少 n 次,至多 m 次。例如,"o{1,3}" 匹配 "fooooood"中前三個(gè)o,"o{0,1}"等價(jià)于"o?"。
[xyz] :一個(gè)字符集,與括號(hào)中字符的其中之一匹配。例如,"[abc]" 匹配"plain"中的"a"。
[^xyz] :一個(gè)否定的字符集,匹配不在此括號(hào)中的任何字符。例如,"[^abc]" 可以匹配"plain"中的"p".
[a-z] :表示某個(gè)范圍內(nèi)的字符,與指定區(qū)間內(nèi)的任何字符匹配。例如,"[a-z]"匹配"a"與"z"之間的任何一個(gè)小寫字母字符。
[^m-z] :否定的字符區(qū)間,與不在指定區(qū)間內(nèi)的字符匹配。例如,"[m-z]"與不在"m"到"z"之間的任何字符匹配。
/b :與單詞的邊界匹配,即單詞與空格之間的位置。例如,"er/b" 與"never"中的"er"匹配,但是不匹配"verb"中的"er"。
/B :與非單詞邊界匹配,"ea*r/B"與"never early"中的"ear"匹配。
/d :與一個(gè)數(shù)字字符匹配,等價(jià)于[0-9]。
/D :與非數(shù)字的字符匹配,等價(jià)于[^0-9]。
/f :與分頁符匹配。
/n :與換行符字符匹配。
/r :與回車字符匹配。
/s :與任何白字符匹配,包括空格、制表符、分頁符等。等價(jià)于"[ /f/n/r/t/v]"。
/S :與任何非空白的字符匹配,等價(jià)于"[^ /f/n/r/t/v]"。
/t :與制表符匹配。
/v :與垂直制表符匹配。
/w :與任何單詞字符匹配,包括下劃線。等價(jià)于"[A-Za-z0-9_]"。
/W :與任何非單詞字符匹配,等價(jià)于"[^A-Za-z0-9_]"。
/num :匹配 num個(gè),其中 num 為一個(gè)正整數(shù),引用回到記住的匹配。例如,"(.)/1"匹配兩個(gè)連續(xù)的相同的字符。
/n:匹配 n,其中n 是一個(gè)八進(jìn)制換碼值。八進(jìn)制換碼值必須是 1, 2 或 3 個(gè)數(shù)字長(zhǎng)。

例如,"/11" 和 "/011" 都與一個(gè)制表符匹配。"/0011"等價(jià)于"/001" 與 "1"。八進(jìn)制換碼值不得超過 256。否則,只有前兩個(gè)字符被視為表達(dá)式的一部分。允許在正則表達(dá)式中使用ASCII碼。
/xn:匹配n,其中n是一個(gè)十六進(jìn)制的換碼值。十六進(jìn)制換碼值必須恰好為兩個(gè)數(shù)字長(zhǎng)。例如,"/x41"匹配"A"。"/x041"等價(jià)于"/x04" 和 "1"。允許在正則表達(dá)式中使用 ASCII 碼。

好了,現(xiàn)在我們就舉個(gè)例子來說明正則表達(dá)式的使用,以驗(yàn)證郵件。例如我們輸入: test@yesky.com ,當(dāng)然我也會(huì)這樣輸入: xxx@yyy.com.cn ;但是這樣的則是非法,如: xxx@@com.cn 或者@xxx.com.cn,等等,所以我們得歸納出合法的電子郵件地址應(yīng)滿足的條件:
1. 必須包含一個(gè)并且只有一個(gè)符號(hào)“@”
2. 第一個(gè)字符不得是“@”或者“.”
3. 不允許出現(xiàn)“@.”或者.@
4. 結(jié)尾不得是字符“@”或者“.”
根據(jù)以上的原則,我們就可以得到如下的模板: "^/w+((-/w+)|(/./w+))*/@[A-Za-z0-9]+((/.|-)[A-Za-z0-9]+)*/.[A-Za-z0-9]+$"

接著,我們對(duì)其改進(jìn),可以得到這樣的模板格式:" /w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*"

正則表達(dá)式的常見用法

"^/d+$" :非負(fù)整數(shù)(正整數(shù) + 0)

"^[0-9]*[1-9][0-9]*$" :正整數(shù)

"^((-/d+)|(0+))$" 非正整數(shù)(負(fù)整數(shù) + 0)

"^-[0-9]*[1-9][0-9]*$" :負(fù)整數(shù)

"^-?/d+$" 整數(shù)

"^/d+(/./d+)?$" 非負(fù)浮點(diǎn)數(shù)(正浮點(diǎn)數(shù) + 0)

"^(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*))$" 正浮點(diǎn)數(shù)

"^((-/d+(/./d+)?)|(0+(/.0+)?))$" 非正浮點(diǎn)數(shù)(負(fù)浮點(diǎn)數(shù) + 0)

"^(-(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*)))$" :負(fù)浮點(diǎn)數(shù)

"^(-?/d+)(/./d+)?$" 浮點(diǎn)數(shù)

"^[A-Za-z]+$" 由26個(gè)英文字母組成的字符串

"^[A-Z]+$" 由26個(gè)英文字母的大寫組成的字符串

"^[a-z]+$" 由26個(gè)英文字母的小寫組成的字符串

"^[A-Za-z0-9]+$" 由數(shù)字和26個(gè)英文字母組成的字符串

"^/w+$" 由數(shù)字、26個(gè)英文字母或者下劃線組成的字符串

"^[/w-]+(/.[/w-]+)*@[/w-]+(/.[/w-]+)+$" email地址

"^[a-zA-z]+://(/w+(-/w+)*)(/.(/w+(-/w+)*))*(/?/S*)?$" url

只能輸入1個(gè)數(shù)字
表達(dá)式 ^/d$
描述 匹配一個(gè)數(shù)字(^起始符,$結(jié)束符,下同)
匹配的例子 0,1,2,3
不匹配的例子

只能輸入n個(gè)數(shù)字
表達(dá)式 ^/d{n}$ 例如^/d{8}$
描述 匹配8個(gè)數(shù)字
匹配的例子 12345678,22223334,12344321
不匹配的例子

只能輸入至少n個(gè)數(shù)字
表達(dá)式 ^/d{n,}$ 例如^/d{8,}$
描述 匹配最少n個(gè)數(shù)字
匹配的例子 12345678,123456789,12344321
不匹配的例子

只能輸入m到n個(gè)數(shù)字
表達(dá)式 ^/d{m,n}$ 例如^/d{7,8}$
描述 匹配m到n個(gè)數(shù)字
匹配的例子 12345678,1234567
不匹配的例子 123456,123456789

只能輸入數(shù)字
表達(dá)式 ^[0-9]*$
描述 匹配任意個(gè)數(shù)字
匹配的例子 12345678,1234567
不匹配的例子 E,清清月兒,http://blog.csdn.net/21aspnet

只能輸入某個(gè)區(qū)間數(shù)字
表達(dá)式 ^[12-15]$
描述 匹配某個(gè)區(qū)間的數(shù)字
匹配的例子 12,13,14,15
不匹配的例子

只能輸入0和非0打頭的數(shù)字
表達(dá)式 ^(0|[1-9][0-9]*)$
描述 可以為0,第一個(gè)數(shù)字不能為0,數(shù)字中可以有0
匹配的例子 12,10,101,100
不匹配的例子 01,清清月兒,http://blog.csdn.net/21aspnet

只能輸入實(shí)數(shù)
表達(dá)式 ^[-+]?/d+(/./d+)?$
描述 匹配實(shí)數(shù)
匹配的例子 18,+3.14,-9.90
不匹配的例子 .6,33s,67-99

只能輸入n位小數(shù)的正實(shí)數(shù)
表達(dá)式 ^[0-9]+(.[0-9]{n})?$以^[0-9]+(.[0-9]{2})?$為例
描述 匹配n位小數(shù)的正實(shí)數(shù)
匹配的例子 2.22
不匹配的例子 2.222,-2.22,http://blog.csdn.net/21aspnet

只能輸入m-n位小數(shù)的正實(shí)數(shù)
表達(dá)式 ^[0-9]+(.[0-9]{m,n})?$以^[0-9]+(.[0-9]{1,2})?$為例
描述 匹配m到n位小數(shù)的正實(shí)數(shù)
匹配的例子 2.22,2.2
不匹配的例子 2.222,-2.2222,http://blog.csdn.net/21aspnet

只能輸入非0的正整數(shù)
表達(dá)式 ^/+?[1-9][0-9]*$
描述 匹配非0的正整數(shù)
匹配的例子 2,23,234
不匹配的例子 0,-4,

只能輸入非0的負(fù)整數(shù)
表達(dá)式 ^/-[1-9][0-9]*$
描述 匹配非0的負(fù)整數(shù)
匹配的例子 -2,-23,-234
不匹配的例子 0,4,

只能輸入n個(gè)字符
表達(dá)式 ^.{n}$ 以^.{4}$為例
描述 匹配n個(gè)字符,注意漢字只算1個(gè)字符
匹配的例子 1234,12we,123清,清清月兒
不匹配的例子 0,123,123www,http://blog.csdn.net/21aspnet/

只能輸入英文字符
表達(dá)式 ^.[A-Za-z]+$為例
描述 匹配英文字符,大小寫任意
匹配的例子 Asp,WWW,
不匹配的例子 0,123,123www,http://blog.csdn.net/21aspnet/

只能輸入大寫英文字符
表達(dá)式 ^.[A-Z]+$為例
描述 匹配英文大寫字符
匹配的例子 NET,WWW,
不匹配的例子 0,123,123www,

只能輸入小寫英文字符
表達(dá)式 ^.[a-z]+$為例
描述 匹配英文大寫字符
匹配的例子 asp,csdn
不匹配的例子 0,NET,WWW,

只能輸入英文字符+數(shù)字
表達(dá)式 ^.[A-Za-z0-9]+$為例
描述 匹配英文字符+數(shù)字
匹配的例子 1Asp,W1W1W,
不匹配的例子 0,123,123,www,http://blog.csdn.net/21aspnet/

只能輸入英文字符/數(shù)字/下劃線
表達(dá)式 ^/w+$為例
描述 匹配英文字符或數(shù)字或下劃線
匹配的例子 1Asp,WWW,12,1_w
不匹配的例子 3#,2-4,w#$,http://blog.csdn.net/21aspnet/

密碼舉例
表達(dá)式 ^.[a-zA-Z] /w{m,n}$
描述 匹配英文字符開頭的m-n位字符且只能數(shù)字字母或下劃線
匹配的例子
不匹配的例子

驗(yàn)證首字母大寫
表達(dá)式 /b[^/Wa-z0-9_][^/WA-Z0-9_]*/b
描述 首字母只能大寫
匹配的例子 Asp,Net
不匹配的例子 http://blog.csdn.net/21aspnet/

驗(yàn)證網(wǎng)址(帶?id=中文)VS.NET2005無此功能
表達(dá)式

^http:////([/w-]+(/.[/w-]+)+(//[/w- .///?%&=/u4e00-/u9fa5]*)?)?$

描述 驗(yàn)證帶?id=中文
匹配的例子 http://blog.csdn.net/21aspnet/ ,
http://blog.csdn.net?id=清清月兒
不匹配的例子

驗(yàn)證漢字
表達(dá)式 ^[/u4e00-/u9fa5]{0,}$
描述 只能漢字
匹配的例子 清清月兒
不匹配的例子 http://blog.csdn.net/21aspnet/

驗(yàn)證QQ號(hào)
表達(dá)式 [0-9]{5,9}
描述 5-9位的QQ號(hào)
匹配的例子 10000,123456
不匹配的例子 10000w,http://blog.csdn.net/21aspnet/

驗(yàn)證電子郵件(驗(yàn)證MSN號(hào)一樣)
表達(dá)式 /w+([-+.']/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*
描述 注意MSN用非hotmail.com郵箱也可以
匹配的例子 aaa@msn.com
不匹配的例子 111@1. http://blog.csdn.net/21aspnet/

驗(yàn)證身份證號(hào)(粗驗(yàn),最好服務(wù)器端調(diào)類庫再細(xì)驗(yàn)證)
表達(dá)式 ^[1-9]([0-9]{16}|[0-9]{13})[xX0-9]$
描述
匹配的例子 15或者18位的身份證號(hào),支持帶X的
不匹配的例子 http://blog.csdn.net/21aspnet/

驗(yàn)證手機(jī)號(hào)(包含159,不包含小靈通)
表達(dá)式 ^13[0-9]{1}[0-9]{8}|^15[9]{1}[0-9]{8}
描述 包含159的手機(jī)號(hào)130-139
匹配的例子 139XXXXXXXX
不匹配的例子 140XXXXXXXX, http://blog.csdn.net/21aspnet/

驗(yàn)證電話號(hào)碼號(hào)(很復(fù)雜,VS.NET2005給的是錯(cuò)的)
表達(dá)式 (不完美 ) 方案一 ((/(/d{3}/)|/d{3}-)|(/(/d{4}/)|/d{4}-))?(/d{8}|/d{7})
方案二 (^[0-9]{3,4}/-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^/([0-9]{3,4}/)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$) 支持手機(jī)號(hào)但也不完美
描述

上海:02112345678 3+8位
上海:021-12345678
上海:(021)-12345678
上海:(021)12345678
鄭州:03711234567 4+7位
杭州:057112345678 4+8位
還有帶上分機(jī)號(hào),國(guó)家碼的情況
由于情況非常復(fù)雜所以不建議前臺(tái)做100%驗(yàn)證, 到目前為止似乎也沒有誰能寫一個(gè)包含所有的類型 ,其實(shí)有很多情況本身就是矛盾的。
如果誰有更好 的驗(yàn)證電話的請(qǐng)留言

匹配的例子
不匹配的例子

驗(yàn)證護(hù)照
表達(dá)式

(P/d{7})|G/d{8})

描述 驗(yàn)證P+7個(gè)數(shù)字和G+8個(gè)數(shù)字
匹配的例子
不匹配的例子 清清月兒, http://blog.csdn.net/21aspnet/

驗(yàn)證IP
表達(dá)式

^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])/.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)/.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)/.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$

描述 驗(yàn)證IP
匹配的例子 192.168.0.1 222.234.1.4
不匹配的例子

驗(yàn)證域
表達(dá)式

^[a-zA-Z0-9]+([a-zA-Z0-9/-/.]+)?/.(com|org|net|cn|com.cn|edu.cn|grv.cn|)$

描述 驗(yàn)證域
匹配的例子 csdn.net baidu.com it.com.cn
不匹配的例子 192.168.0.1

驗(yàn)證信用卡
表達(dá)式

^((?:4/d{3})|(?:5[1-5]/d{2})|(?:6011)|(?:3[68]/d{2})|(?:30[012345]/d))[ -]?(/d{4})[ -]?(/d{4})[ -]?(/d{4}|3[4,7]/d{13})$

描述 驗(yàn)證VISA卡,萬事達(dá)卡,Discover卡,美國(guó)運(yùn)通卡
匹配的例子
不匹配的例子

驗(yàn)證ISBN 國(guó)際標(biāo)準(zhǔn)書號(hào)
表達(dá)式

^(/d[- ]*){9}[/dxX]$

描述 驗(yàn)證ISBN 國(guó)際標(biāo)準(zhǔn)書號(hào)
匹配的例子 7-111-19947-2
不匹配的例子

驗(yàn)證GUID 全球唯一標(biāo)識(shí)符
表達(dá)式

^[A-Z0-9]{8}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{12}$

描述 格式8-4-4-4-12
匹配的例子 2064d355-c0b9-41d8-9ef7-9d8b26524751
不匹配的例子

驗(yàn)證文件路徑和擴(kuò)展名
表達(dá)式

^([a-zA-Z]/:|//)//([^//]+//)*[^//:*?"<>|]+/.txt(l)?$

描述 檢查路徑和文件擴(kuò)展名
匹配的例子 E:/mo.txt
不匹配的例子 E:/ , mo.doc, E:/mo.doc , http://blog.csdn.net/21aspnet/

驗(yàn)證Html顏色值
表達(dá)式

^#?([a-f]|[A-F]|[0-9]){3}(([a-f]|[A-F]|[0-9]){3})?$

描述 檢查顏色取值
匹配的例子 #FF0000
不匹配的例子 http://blog.csdn.net/21aspnet

郵件地址最基本的格式可以看作是 <用戶名@域名>。對(duì)于用戶名,各個(gè)ISP沒有統(tǒng)一的標(biāo)準(zhǔn),除了數(shù)字和字母外,有的允許有<_>,有的允許有<.>,也有的兩者皆可,或者允許其他的特殊字符。對(duì)此我們只能根據(jù)具體的情況加以判斷。
文中假設(shè)除字母和數(shù)字外還允許<.><_>,<.><_>不能出現(xiàn)在首末位,<.><_>不能相連。域名中各段除數(shù)字和字母外只允許出現(xiàn)<->,且<->不能出現(xiàn)在首位和末位,各段用<.>連接。我們還可從域名得知最后一段大于一位且只有字母。
下面我們就可以依據(jù)以上假設(shè)寫出如下表達(dá)式來判斷是否該串是一個(gè)郵件地址:

^([a-z0-9A-Z]+[-|/.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?/.)+[a-zA-Z]{2,}$

稍作解釋:
^:匹配開始
([a-z0-9A-Z]+[-|/.]?)+:數(shù)字或字母>1位 + <->或<.>,以上組合重復(fù)1次以上
[a-z0-9A-Z]:用戶名以數(shù)字或字母結(jié)尾
@:匹配<@>
(
[a-z0-9A-Z]+:匹配多位數(shù)字或字母
(-[a-z0-9A-Z]+)?:匹配 -加多位數(shù)字或字母 0次或1次
/.:匹配<.>
)+:匹配括號(hào)中內(nèi)容多次
[a-zA-Z]{2,}:匹配字母2次以上
$:匹配結(jié)尾

在網(wǎng)上搜集并學(xué)習(xí)了多個(gè)較為經(jīng)典的正則表達(dá)式資料版本后,總結(jié)了此篇學(xué)習(xí)心得,其中難免有不當(dāng)或錯(cuò)誤之處,還請(qǐng)各位多多斧正和指點(diǎn)

正則表達(dá)式的學(xué)習(xí)與小結(jié)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 97在线碰碰观看免费高清 | 成人在线免费 | 中文字幕国产在线 | 亚洲成在人线免费视频 | 欧美日韩视频在线第一区 | 黄黄网 | 精品欧美成人bd高清在线观看 | 色中涩 | www.日本一区 | 五月天丁香婷婷综合 | 欧美成人午夜做爰视频在线观看 | 国内精自品线一区91 | 精品香蕉99久久久久网站 | 欧美在线激情 | 精品亚洲一区二区三区在线播放 | 四虎影院免费观看视频 | 久久精品人人做人人看最新章 | 成 人 免 费 黄 色 | 欧美激情(一区二区三区) | 天天射网站 | 色综合久久久久综合99 | 国产精品88| 欧美大黄大色一级毛片出红 | 天堂伊人网 | 亚洲国产成人久久笫一页 | 亚洲精品一区二区三区在线播放 | 亚洲日本久久一区二区va | 一级毛片在线视频 | 91美女啪啪 | 三级a做爰大乳在线观看 | 欧美性狂猛bbbbxxxx | 亚洲精品美女一区二区三区乱码 | 五月激情婷婷综合 | 国产精品成aⅴ人片在线观看 | 五月久久婷婷综合片丁香花 | 欧美片欧美日韩国产综合片 | 污宅男666在线永久免费观看 | 日韩三级 | baoyu777永久免费视频 | 99视频免费 | 国产精品伦理一区二区三区 |