久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術(shù)文章
文章詳情頁

對話 UNIX,第 9 部分: 正則表達(dá)式

瀏覽:198日期:2024-06-18 14:23:03

非常奇怪,直到今天我仍然能重復(fù)周六早上的經(jīng)典歌曲“Conjunction Junction。這是好事(看了太多電視)還是壞事(也許是我現(xiàn)在職業(yè)的先兆)仍然有待討論。不管怎樣,這首小調(diào)在歡快的節(jié)奏下傳遞了基本的信息。

我還沒有為學(xué)習(xí) Unix 構(gòu)想出與“Conjunction Junction相似的作品,但是我會在未來的幾個月里嘗試親手編寫這樣的歌曲。與此同時,趁著快樂回憶所帶來的好心情,我們繼續(xù)以 Schoolhouse 搖滾的傳統(tǒng)學(xué)習(xí)方式攻克命令行。

現(xiàn)在開始上課。吐出嘴里的口香糖,回到您的座位上,然后拿出一根二號鉛筆。還有您,Spicoli。

模仿秀

您可以將 UNIX 命令行看作是一句話:

可執(zhí)行命令,如 cat 或 ls,是動詞——操作。

命令的輸出是名詞——要查閱或使用的數(shù)據(jù)。

Shell 操作符,如 |(管道)或 >(重定向標(biāo)準(zhǔn)輸出),是連詞——用于連接句子。

例如,命令行:ls -A | wc -l 用于計(jì)算當(dāng)前目錄下的條目數(shù)(忽略特殊條目 . 和 ..),它包含兩個句子。第一個句子 ls -A 是動詞結(jié)構(gòu),列舉當(dāng)前目錄下的內(nèi)容,第二個句子 wc -l 是另一個動詞結(jié)構(gòu),用于計(jì)算行數(shù)。第一個句子輸出的結(jié)果作為第二個句子的輸入,并由連接詞(管道)連接這兩個句子。

在本系列文章以及其他文章中展示的許多您可能已經(jīng)學(xué)習(xí)過的命令行句式都具有這種句子結(jié)構(gòu)。

但是,如果缺少了文法上的修飾語,命令行將顯得不專業(yè)。當(dāng)然,基本句子也能完成工作,但是這樣顯得不優(yōu)美。(在此對高中英語演唱二人組 Rad 女士和 Perlstein 女士表示歉意。)解決更有趣的問題需要用到形容詞。

幾乎所有重要問題都需要從無用數(shù)據(jù)中過濾出有用數(shù)據(jù)。雖然屬性的數(shù)量和種類會有所不同,但是每種方案都通過某種方式(形式或格式),隱式或顯式地描述了它要查找并處理的信息,從而生成另外一種形式的其他信息。

在命令行中,正則表達(dá)式 的作用相當(dāng)于形容詞——一種描述或限定詞。在應(yīng)用到輸出時,正則表達(dá)式可辨別相關(guān)數(shù)據(jù)和無關(guān)數(shù)據(jù)。

標(biāo)點(diǎn)概述

讓我們看一個示例問題。

grep 實(shí)用工具逐行過濾輸入并尋找匹配。grep 的最簡單應(yīng)用是打印那些包含與某個模式匹配的文本的行。grep 可以查找具有固定順序的字符組合,甚至可以通過使用 -i 選項(xiàng)來忽略大小寫。

因此,假定文件 heroes.txt 包含以下行:

CatwomanBatmanThe TickSpider ManBlack CatBatgirlDanger GirlWonder WomanLuke CageThe PunisherAnt ManDead GirlAquamanSCUDSpider WomanBlackboltMartian Manhunter

命令行:

grep -i man heroes.txt

將生成:

CatwomanBatmanSpider ManWonder WomanAnt ManAquamanMartian Manhunter

其中 grep 掃描 heroes.txt 文件中的每一行并查找字母 m,后面緊跟 a,然后緊跟 n。除了必須保證相鄰,這些字母可以出現(xiàn)在行的任何位置,甚至可以位于較大的單詞中間。在不考慮大小寫的情況下(-i 選項(xiàng)),Catwoman、Batman、Spider Man、Wonder Woman、Ant Man、Aquaman 和 Martian Manhunter 都包含字符串 man。

grep 實(shí)用工具包含其他可優(yōu)化搜索的內(nèi)置選項(xiàng)。例如,-w 選項(xiàng)限制于匹配整個單詞,因此 grep -i -w man 將排除 Catwoman 和 Batman(舉例來說)。

該工具還有一個優(yōu)秀的功能,可以排除而不是包括所有匹配的搜索結(jié)果。使用 -v 選項(xiàng)來排除 匹配的行。例如:

grep -v -i 'spider' heroes.txt

將打印除了包含字符串 spider 之外的所有行。

CatwomanBatmanThe TickBlack CatBatgirlDanger GirlWonder WomanLuke CageThe PunisherAnt ManDead GirlAquamanSCUDBlackboltMartian Manhunter

但是,對于以下這些情況,您該如何處理?只希望得到那些開頭為“Bat的單詞;或者以“bat、“Bat、“cat或“Cat開頭的單詞?或者希望知道有多少漫畫復(fù)仇者的名字以“man結(jié)束。在這些實(shí)例中,類似于上述三個示例的簡單字符串搜索將無法滿足要求,因?yàn)檫@些搜索不區(qū)分位置。

位置、位置、位置和備選項(xiàng)

正則表達(dá)式可以 過濾特定的位置,例如行的開始或結(jié)束,以及單詞的開始和結(jié)束。正則表達(dá)式(通常簡寫為 regex)還可以描述:備選項(xiàng)(您可將其稱為“this或“that);固定長度、可變長度或不定長度的重復(fù);范圍(例如,“a-m 之間的任意字母);還有字符的類別或種類(“可打印字符或“標(biāo)點(diǎn)符號),以及其他技術(shù)。

表 1 顯示了一些常用的正則表達(dá)式操作符。您可以連接表 1 中顯示的元素(以及其他操作符)并加以組合使用,從而構(gòu)建(非常)復(fù)雜的正則表達(dá)式。

表 1. 常用的正則表達(dá)式操作符

操作符用途.(句號)匹配任意單個字符。^(脫字號)匹配出現(xiàn)在行首或字符串開始位置的空字符串。$(美元符號)匹配出現(xiàn)在行末的空字符串。A 匹配大寫字母 A。a 匹配小寫字母 a。d 匹配任意一位數(shù)字。D 匹配任意單個非數(shù)字字符。w 匹配任意單個字母數(shù)字字符,同義詞是 [:alnum:]。[A-E] 匹配任意大寫的 A、B、C、D 或 E。[^A-E] 匹配除 A、B、C、D 和 E 之外的任意字符。X? 匹配出現(xiàn)零次或一次的大寫字母 X。X* 匹配零個或任意個大寫 X。X+ 匹配一個或多個字母 X。X{n} 精確匹配 n 個字母 X。X{n,m} 匹配最少 n 個并且不超過 m 個字母 X。如果省略 m,表達(dá)式將嘗試匹配最少 n 個 X。(abc|def)+ 匹配一連串的(最少一個) abc 或 def;abc 和 def 將匹配。

以下是一些使用 grep 作為搜索工具的正則表達(dá)式示例。許多其他 UNIX 工具,包括交互式編輯器 vi 和 EMacs、流編輯器 sed 和 awk,以及所有現(xiàn)代編程語言都支持正則表達(dá)式。在您學(xué)會正則表達(dá)式的語法(也許相當(dāng)晦澀)之后,就可以將您的專業(yè)知識靈活運(yùn)用到不同的工具、編程語言和操作系統(tǒng)。

查找以“Bat開頭的名稱

要查找以“Bat開頭的名稱,請使用:

grep -E '^Bat'

可以使用 -E 選項(xiàng)來指定正則表達(dá)式。^(脫字號)字符匹配行首或字符串的開頭,這是一個出現(xiàn)在每行或每個字符串開頭字符之前的假想字符。字母 B、a 和 t 只具有字面含義并且僅匹配那些特定的字符。因此,命令 grep -E '^Bat' 將生成:

BatmanBatgirl

由于許多 regex 操作符也為 Shell 所使用(其中一些具有不同的用途,另外一些則有類似的用途),因此一個好的習(xí)慣是使用單引號將命令行中的每個 regex 括起來,以保護(hù) regex 操作符免遭 Shell 的誤解。例如,*(星號)和 $(美元符號)都是 regex 操作符,并且對于您的 Shell 具有特殊的含義。

查找以“man結(jié)尾的名稱

要查找以“man結(jié)尾的名稱,可以使用 regex man$ 來匹配序列 m、a 和 n,并且后面緊接與 regex 操作符 $ 匹配的行(字符串)。

查找空行

基于 ^ 和 $ 的作用,您可以使用 regex ^$ 來查找空行(相當(dāng)于在開始之后立即結(jié)束的行)。

備選項(xiàng)或集合操作符

要查找以“bat、“Bat、“cat或“Cat開頭的單詞,可以使用以下兩個技巧。首先是備選項(xiàng),如果備選項(xiàng)中的任意 模式匹配,都會產(chǎn)生匹配的結(jié)果。例如,命令:

grep -E '^(bat|Bat|cat|Cat)' heroes.txt

可實(shí)現(xiàn)這一技巧。regex 操作符 |(豎線)表示備選項(xiàng),因此 this|that 匹配字符串 this 或字符串 that。因此,^(bat|Bat|cat|Cat) 表示“行首緊跟 bat、Bat、cat 或 Cat之一。當(dāng)然,可以使用 grep -i 來簡化該 regex,這樣可以忽略大小寫,從而將命令簡化為:

grep -i -E '^(bat|cat)' heroes.txt

匹配“bat、“Bat、“cat或“Cat的另一個方法是使用 [ ](方括號)集合 操作符。如果將一組字符放在一個集合中,則可以匹配那些字符中的任意一個。(您可以將集合 看作是字符備選項(xiàng)的簡寫法。)

例如,命令行:

grep -E '^[bcBC]at' heroes.txt

與以下命令生成的結(jié)果相同:

grep -E '^(bat|Bat|cat|Cat)' heroes.txt

您可以再次使用 -i 將 regex 簡化為 ^[bc]at。

而且,還可以使用 -(連字符)操作符在集合中指定包含的字符范圍。例如,用戶名通常以字母開頭。假定要在提交給您的服務(wù)器的 Web 表格中驗(yàn)證這樣的用戶名,可以使用類似于 ^[A-Za-z] 的 regex。此 regex 表示“字符串的開頭后緊跟任意大寫字母 (A-Z) 或任意小寫字母 (a-z)。順便說明一下,[A-z] 與 [A-Za-z] 作用相同。

還可以在集合中混合使用范圍和單個字符。regex [A-MXYZ] 將匹配任意大寫的 A-M、X、Y 和 Z。

并且,如果希望反轉(zhuǎn)集合(即排除集合中的任意字符),可以使用特殊集合 [^ ] 并包含要排除的范圍或字符。以下是反轉(zhuǎn)集合的示例。要查找所有名稱中包含 at 的超級英雄,并排除 Dark Knight 和 Batman,請鍵入:

grep -i -E '[^b]at' heroes.txt

此命令生成:

CatwomanBlack Cat

由于某些集合需要經(jīng)常使用,所以設(shè)計(jì)出簡化符號以代替大量字符。例如,集合 [A-z0-9_] 十分常用,因此可以簡寫為 w。與此類似,操作符 W 是集合 [^A-z0-9_] 的簡寫。還可以使用符號 [:alnum:] 代替 w,使用 [^[:alnum:]] 代替 W。

順便說明一下,w(以及同義詞 [:alnum:])是特定于區(qū)域的,而 [A-z0-9_] 即表示字母 A-z、數(shù)字 0-9 和下劃線。如果要開發(fā)國際化應(yīng)用程序,請使用區(qū)域特定的格式以使代碼可以在許多區(qū)域之間移植。

跟我一起重復(fù):重復(fù),重復(fù),重復(fù)

到目前為止,已經(jīng)介紹了字面值、位置和兩種備選項(xiàng)操作符。僅使用這些內(nèi)容,就可以匹配大多數(shù)具有可預(yù)測 長度的模式。現(xiàn)在回到用戶名,通過以下 regex 命令可以確保每個用戶名以字母開頭并緊跟恰好七個字母或數(shù)字:

[a-z][a-z0-9][a-z0-9][a-z0-9][a-z0-9][a-z0-9][a-z0-9][a-z0-9]

但是這樣有點(diǎn)笨拙。而且,它只匹配恰好八個字符的用戶名。它不會匹配三到八個字符之間的名稱,這通常也是有效的用戶名。

正則表達(dá)式還可以包括重復(fù)修飾符。重復(fù)修飾符可以指定數(shù)量,如沒有、一個、多個、一個或多個,零或一個、五到十個,以及恰好三個。重復(fù)修飾符必須與其他模式組合,修飾符本身沒有含義。

例如,regex:

^[A-z][A-z0-9]{2,7}$

可以實(shí)現(xiàn)前面描述的用戶名過濾功能。用戶名 是以字母開頭,后面緊跟至少兩個,但不超過七個字母或數(shù)字的字符串,并且緊跟字符串結(jié)尾。

此處的位置定位點(diǎn)非常重要。如果沒有兩個位置操作符,則會錯誤地接受任意長度的用戶名。為什么呢?請考慮 regex:

^[A-z][A-z0-9]{2,7}

此命令辨別:字符串是否以字母開頭并緊跟二到七個字母?但是它未提到終止條件。因此,字符串 samuelclemens 滿足條件,但是它的長度顯然超出了有效用戶名的范圍。與此類似,省略開始定位點(diǎn) ^,或同時省略兩個定位點(diǎn)將分別匹配以類似 munster1313 結(jié)束或包含該字符串的字符串。如果必須匹配特定的長度,請記得在要求的模式的開頭和結(jié)尾分別加上分隔符。

以下是其他一些示例:

可以使用 {2,} 查找兩次或多次重復(fù)。regex ^G[o]{2,}gle 匹配 Google、Gooogle、Goooogle 等等。

重復(fù)修飾符 ?、+ 和 * 分別查找零次或一次、一次或多次,以及零次或多次重復(fù)。(例如,您可以將 ? 看作是 {0,1} 的簡寫法。)

regex boys? 匹配 boy 或 boys;regex Goo?gle 匹配 Gogle 或 Google。

regex Goo+gle 匹配 Google、Gooogle、Goooogle 等等。

construct Goo*gle 匹配 Gogle、Google、Gooogle 等等。

可以將重復(fù)修飾符應(yīng)用到單個字符(如上所示),還可以應(yīng)用到更復(fù)雜的組合。使用 ( 和 ) 圓括號(就像數(shù)學(xué)中的用法)將修飾符應(yīng)用到子表達(dá)式。下面是一個示例:給定文本文件 test.txt:The rain in Spain falls mainlyon the the plain.It was the best of of times;it was the worst of times.

命令 grep -i -E '(b(of|the)W+){2,}' test.txt 將生成:

on the the plain.It was the best of of times;

regex 操作符 b 匹配單詞邊界 或 (Ww|wW)。該 regex 表示“一連串完整單詞‘the’或‘of’后面緊跟非文字字符。您可能會提出疑問,為什么 W+ 是必需的:b 是位于單詞開頭或結(jié)尾的空字符串。在單詞之間必須包括這一(或這些)字符,否則該 regex 將無法找到匹配。

捕獲需要注意的內(nèi)容

查找文本是常見的問題,但是更常見的問題則是希望在找到文本之后將其提取出來。換句話說,您希望去粗取精。

正則表達(dá)式通過捕獲 來提取信息。如果希望將需要的文本與其他內(nèi)容分開,請使用圓括號將模式括起來。實(shí)際上,您已經(jīng)使用圓括號收集術(shù)語;在默認(rèn)情況下,圓括號自動進(jìn)行捕獲。

要查看捕獲,請切換到 Perl。(grep 實(shí)用工具不支持捕獲,因?yàn)槠淠繕?biāo)是打印包含模式的行。)

以下命令:

perl -n -e '/^Thes+(.*)$/ && print "$1n"' heroes.txt

將打印:

TickPunisher

使用命令 perl -e 可以直接從命令行運(yùn)行 Perl 程序。perl -n 命令針對輸入文件的每一行運(yùn)行一次程序。命令的 regex 部分,即位于斜杠之間的文本(/)表示“匹配字符串的開頭,然后字母‘T’、‘h’、‘e’后緊跟一個或多個空格字符 s+,然后捕獲直到字符串結(jié)尾的所有字符。

Perl 捕獲內(nèi)容被放在以 $1 開頭的特殊 Perl 變量中。Perl 程序的其余部分打印捕獲的內(nèi)容。

每個嵌套的括號對,從左開始算起,每個左圓括號加一,放在下一個特殊的數(shù)字變量中。例如:

perl -n -e '/^(w)+-(w+)$/ && print "$1 $2"'

將生成:

Spider ManAnt ManSpider Woman

捕獲感興趣的文本僅僅是隔靴搔癢。如果能夠準(zhǔn)確確定材料,就可以使用其他材料改變其外觀。類似于 vi 和 Emacs 的編輯器將模式匹配與替換組合,從而將查找和替換文本組合成一步操作。還可以使用模式、替換和 sed 從命令行更改文本。

豐富的主題

正則表達(dá)式非常強(qiáng)大;可供使用的操作符的數(shù)量龐大,種類繁多。它包含如此豐富的信息和實(shí)踐知識,我們在這里所能列舉的實(shí)屬鳳毛麟角。

幸運(yùn)的是,有以下三種優(yōu)秀的正則表達(dá)式理論來源可供使用:

如果在您的系統(tǒng)上有 Perl,可以參閱 Perl Regular Expression man 頁面(鍵入 perldoc perlre)。它會提供 regex 的精彩介紹,并包含許多有用的示例。許多編程語言都已采用 Perl 兼容的正則表達(dá)式 (PCRE),因此您在此 man 頁面讀到的內(nèi)容已被直接轉(zhuǎn)換到 PHP、Python、Java™ 和 Ruby 編程語言,以及許多其他最新工具。

Jeffrey FrIEdl 編著的《正則表達(dá)式》(第三版)被認(rèn)為是 regex 用法方面的圣經(jīng)。該書細(xì)致、準(zhǔn)確、清晰、務(wù)實(shí)地說明了匹配的工作方式、所有的 regex 操作符、多數(shù)優(yōu)先性(限制 + 和 * 匹配字符的數(shù)量),以及更多內(nèi)容。此外,F(xiàn)riedl 的書還包括一些令人驚嘆的正則表達(dá)式,可以準(zhǔn)確地匹配完全限定的電子郵件地址和其他 Request for Comments (RFC) 特定的字符串。

Nathan Good 編著的 Regular Expression Recipes 一書提供了針對許多常見數(shù)據(jù)處理和過濾問題的有用的解決方案。如果需要提取郵政編碼、電話號碼或引用的字符串,請嘗試 Nathan 的解決方案。

在命令行中,可以采用許多方法使用正則表達(dá)式。幾乎每個處理文本的命令都支持某種形式的正則表達(dá)式。大多數(shù) Shell 命令語法還或多或少地?cái)U(kuò)展正則表達(dá)式以匹配文件名(盡管操作符的功能可能有所不同)。

例如,鍵入 ls [a-c] 以查找名為 a、b 或 c 的文件。鍵入 ls [a-c]* 以查找以 a、b 或 c 開頭的所有文件名。此處的 * 在 Shell 中不像 grep 的解釋器那樣修飾 [a-c],* 被解釋為 .*。? 操作符在 Shell 中也可以工作,但是被解釋為 .,即匹配任意單個字符。

查看您最喜歡的實(shí)用工具或 Shell 的文檔以確定哪些 regex 操作符受支持,以及操作符可能具有的獨(dú)特性。

下課了!

這堂課比往常的時間要長。但是您現(xiàn)在已了解了正則表達(dá)式的基本知識。出去放松一下。

在您享受空閑的時候,我將開始編寫很快會流行起來的經(jīng)典歌詞“描述 99 個命令的 99 行代碼。

標(biāo)簽: Unix系統(tǒng)
相關(guān)文章:
主站蜘蛛池模板: 啊啊啊网站 | 久久精品久久久 | 日韩视频一区二区三区 | 久久久999精品视频 欧美老妇交乱视频 | 日韩高清一区 | 亚洲欧美中文日韩在线v日本 | 国产乱码一区二区三区在线观看 | 色综合久久久久综合99 | 一区二区三区在线视频播放 | 国产精品久久久久久久久久妇女 | 精品在线一区二区 | 国产精品久久免费视频 | 国产精品久久综合 | 久久视频在线 | 久久高清精品 | 欧美视频在线一区 | 夜夜操天天操 | 亚洲网站久久 | 久久精品久久久久电影 | 午夜免费电影 | 亚洲 欧美日韩 国产 中文 | 午夜免费视频 | 久久久久久久久国产成人免费 | 亚洲网在线 | 成人激情视频在线观看 | 91久久夜色精品国产九色 | 最新免费视频 | 国产精品美女视频一区二区三区 | 亚洲a网| 亚洲成人网一区 | 精品视频免费观看 | 亚洲 中文 欧美 日韩 在线观看 | 精品久久网站 | 91av爱爱 | 欧美 日韩 中文字幕 | www国产亚洲精品久久网站 | 国产免费一区 | 国产在线三区 | 国产第一区在线观看 | 日韩国产欧美 | 国产黄色大片 | 欧美精品三区 | 黄色二区 | 欧美亚洲激情 | 欧美一区永久视频免费观看 | 精品国产乱码久久久久久1区2区 | 欧美日韩一区电影 | 日本精品一区二 | 国产精品久久久久久久久久免费看 | 91精品国产一区二区三区蜜臀 | 福利三区 | 亚洲成熟少妇视频在线观看 | 国产精品久久久久久婷婷天堂 | 91豆花视频| 香蕉婷婷 | a级性生活片 | 一级欧美 | 日韩精品一区二区三区在线观看 | 久久精品免费视频播放 | 一区二区蜜桃 | 久久精品国产一区二区三区不卡 | 日韩成人av在线 | 亚洲成人在线视频播放 | h视频免费 | 国产超碰人人爽人人做人人爱 | 国产一级视频在线播放 | 嫩草影院永久入口 | 黄色天堂在线观看 | 亚洲午夜精品a | 美女一级a毛片免费观看97 | 在线视频 欧美日韩 | 欧美激情自拍偷拍 | 欧美精品一区二区三区四区 | 久久久久久国产精品 | 日本免费一区二区三区 | 欧美第一色 | 久久精品欧美一区二区三区不卡 | 日本在线观看视频一区 | 欧美午夜视频在线观看 | 精品国产成人 | 精品国产一区二区三区av片 | 亚洲三级在线 | 日韩中文字幕在线播放 | 中文字幕一区二区三区日韩精品 | 亚洲精品一区二区三区在线观看 | 久久久99日产 | 一区二区三区精品视频免费看 | 亚洲h视频 | 国产精品一区二区三区四区 | 中文字幕加勒比 | 亚洲视频在线看 | www伊人| 国产精品日韩专区 | 欧美久久久久久久久久伊人 | 国产一级一级国产 | 亚洲一区二区三区久久 | 91亚洲国产成人久久精品网站 | 欧美 日韩 亚洲 一区 | 成人练习生 | 欧美视频在线免费 | 中文av在线免费观看 | 亚洲精品一区久久久久久 | www精品美女久久久tv | 免费观看一区二区三区 | 亚洲综合视频一区 | 成人在线观看免费 | 久久草视频 | 国产精品久久久久久久久久久久久久 | 国产精品视频一区二区三区 | 色天天综合久久久久综合片 | 91免费观看视频 | 亚洲免费视频网站 | 亚洲高清不卡视频 | 国产特黄一级 | 日本一级在线观看 | 91国自产精品中文字幕亚洲 | 精品自拍视频 | 人人人人人你人人人人人 | 91中文视频 | 国产中文一区 | 狠狠操综合网 | 国产一区影院 | 国产精品婷婷午夜在线观看 | 久久久久久久久久久久国产精品 | 国产精品久久久久久一区二区三区 | 国产aⅴ | 日本久久精品视频 | 国产综合一区二区 | 99精品一区二区三区 | 黄色片在线观看视频 | 成人午夜看片 | 一区二区久久久 | 中文字幕在线精品 | 电影午夜精品一区二区三区 | 一区二区三区成人 | 玖玖在线精品 | 91av在| 精品超碰 | 国产乱码久久久久久一区二区 | 美女视频一区二区三区 | 中文字幕a视频 | 国产成人久久精品一区二区三区 | sese综合 | 1区2区免费视频 | 精品久久久免费视频 | 性视频网站免费 | 国产高清第一页 | 天天干天天看天天操 | 亚洲在线观看免费视频 | 涩涩久久 | 极品一区 | 麻豆久久精品 | 国产成人精品久久二区二区 | 色网站在线观看 | 国产xxxx成人精品免费视频频 | 日韩一区二区三区在线观看 | 亚洲高清视频在线观看 | 欧美成人区 | 91一区二区 | 日韩在线视频第一页 | 国产一区在线看 | 国产高清在线看 | 精品永久免费 | 欧洲精品视频在线观看 | 日韩三及片 | 亚洲福利在线播放 | 日韩一级免费观看 | 四虎永久网址 | 国产一区二区三区在线免费观看 | 欧美一区久久 | 国产精品不卡视频 | 婷婷久久综合 | 成人不卡 | 久久精品视 | 久久精品黄 | 成人精品一区二区三区 | 久久精品99国产精品日本 | 午夜国产精品视频 | 国产日韩欧美精品一区二区三区 | 中文字幕在线视频免费观看 | 在线播放中文字幕 | 美女精品视频在线 | 黄色欧美一级片 | 裸体的日本在线观看 | 色噜噜一区二区 | 国产精品成人在线观看 | 亚洲一区中文字幕在线观看 | 久久va| 婷婷激情五月 | 亚洲 欧美 日韩在线 | 国产精品国产三级国产aⅴ中文 | 国产精品亚洲精品 | 国产午夜精品久久久久免费视高清 | 欧美精品日韩 | 96自拍视频 | 久久久久久这里只有精品 | 国产美女永久免费无遮挡 | 日韩精品一区二区三区中文在线 | 久草热线视频 | 超碰在线99| 精品成人免费视频 | 久久视频一区 | 亚洲 欧美 综合 | 天天爽夜夜春 | 久久久久国产 | 99精品欧美一区二区三区 | 欧美日韩亚洲高清 | 在线观看日韩av | 国产一区| 亚洲精品久久久久久久久 | 蜜桃视频网站在线观看 | 国产精品美女www爽爽爽软件 | www.操.com| 日本狠狠操 | 欧美一级日韩 | 亚洲精品粉嫩美女一区 | aaa在线观看 | 欧美成年黄网站色视频 | 欧美视频精品 | 国产一区二区欧美 | 99精彩视频 | 91免费版在线观看 | 一区二区在线免费观看 | 日日干夜夜干 | 九九热精品视频在线观看 | 天天干干| 亚洲伊人久久网 | 亚洲欧美日韩精品久久亚洲区 | 亚洲精品一区二区三区99 | 亚洲黄色成人 | 黄色在线免费观看 | 极品白嫩少妇无套内谢 | 精品一二三区 | 国产精品日韩欧美 | 国产老头老太作爱视频 | 人人草人人 | 亚洲动漫在线观看 | 日韩精品视频在线观看免费 | 亚洲午夜精品一区二区三区他趣 | 国产精品色在线网站 | 亚洲第一性理论片 | 日本精品久久 | 毛片入口 | 精品国产一区二区三区av片 | 日韩精品一区二区三区在线观看 | 欧美黑人一级爽快片淫片高清 | 91小视频 | 亚洲九九精品 | 91精品久久久久久久久久入口 | 精品99久久久久久 | 欧美精品一区在线发布 | 中文字幕一区二区三区四区五区 | 久久久99久久 | 国产成人精品久久 | 色婷婷一区二区三区四区 | 91传媒在线播放 | 一区二区中文 | 国产高清久久久 | 国产视频三区 | 国产永久免费 | 免费一看一级毛片 | 成人亚州 | 国产在线日韩 | 天天操天操 | 国产高清视频一区 | 国产成人免费视频网站高清观看视频 | 91色乱码一区二区三区 | 一级黄色大片 | 日韩爱爱免费视频 | 亚洲永久免费视频 | 中文精品一区二区三区 | 久久精品超碰 | 亚洲一区二区在线 | 成年视频在线观看福利资源 | 在线免费观看毛片 | 国产高清在线不卡 | 欧美激情综合色综合啪啪五月 | 久久久久免费观看 | 成人欧美一区二区三区 | 午夜视频91 | 日韩在线中文字幕 | 羞羞视频在线网站观看 | 1000部羞羞视频在线看视频 | 久久久国产一区二区三区四区小说 | 日韩在线中文字幕 | 君岛美绪一区二区三区在线视频 | 婷婷毛片| 国产福利在线观看 | 夜夜操av| 亚洲人成在线播放 | 国产一区二区三区免费 | 欧美1区 | 亚洲欧美91| 日本亚洲国产一区二区三区 | 亚洲免费观看视频 | 三级黄色视频毛片 | 久久综合久久综合久久综合 | 久久久久久久久一区二区 | 成人一区二区av | 久久久久久久一区二区三区 | 亚洲精品久久久久久久久久久久久 | 综合中文字幕 | 亚洲欧洲精品视频在线观看 | 精品久久久99 | 国产三级网站 | 欧美日韩a | 97色综合| 可以免费在线观看av的网站 | 国产成人在线免费观看 | 国产小视频在线播放 | 久久久久久久一区 | www.日韩大片| 婷婷毛片 | 中文字幕精品一区久久久久 | 国产精品国产三级国产aⅴ入口 | 久久精品成人一区二区三区蜜臀 | 久久a毛片 | 久久精品中文字幕 | 日日骚| 精品美女在线 | 在线免费视频一区二区 | 日韩不卡一区二区 | 97成人精品视频在线观看 | 成人免费高清 | 久久久久久亚洲国产 | 中文字幕在线一区二区三区 | 免费视频二区 | 欧美视频网站 | 91福利在线导航 | 欧美成人高清视频 | 久久不射电影网 | 国产一区二区精品在线观看 | 久久精品亚洲一区二区 | 亚洲精品一二三区 | 在线伊人网 | 91精品国产一区二区三区四区在线 | 亚洲一区二区三区四区在线观看 | 色婷婷一二三 | 亚洲精品日韩激情欧美 | 免费在线观看成年人视频 | 91视频国产一区 | 精品国产欧美一区二区三区不卡 | 国产精久久久久久久妇剪断 | 亚洲欧美日韩在线一区 | 日韩aaa久久蜜桃av | 午夜视频在线免费观看 | 伊人久久艹| 黄色片网站在线看 | 日本女人高潮视频 | 色精品 | 波多野吉衣网站 | 久久男人天堂 | ririsao久久精品一区 | 久久伊人成人 | 成人免费小视频 | 日韩欧美在线播放 | 在线观看中文 | 精品久久中文字幕 | 久久窝 | 国产精品日本一区二区在线播放 | 在线中文字幕av | 91久久久久久久久久久久久 | a久久久 | 欧洲国产伦久久久久久久 | 精品影视 | 亚洲国产免费看 | 久久人人爽人人爽 | 日韩视频在线播放 | 欧美一二三区在线 | 精品久久久久久久久久久久包黑料 | 在线激情网 | 精品日韩中文字幕 | 欧美日韩国产影院 | 久久99国产精品久久99大师 | 山岸逢花在线观看 | 国产精品极品美女在线观看免费 | 日韩一区二区视频 | 在线看一区 | 永久黄网站色视频免费 | 奇米成人 | 91精品国产91久久综合桃花 | 日韩在线观看中文字幕 | 色综合成人| 成人免费在线观看 | 成av在线| 精品久久久久久久久久久久久久 | 国产区视频在线观看 | 欧美日韩午夜 | 国产福利在线观看视频 | 久久男人天堂 | 亚洲精品一区二区三区在线观看 | 成人精品 | 一区二区三区在线免费观看 | 国产高清一区二区三区 | 午夜影院网站 | 福利视频网站 | 一区二区三区四区免费看 | 91原创视频在线观看 | 亚洲女人天堂成人av在线 | 欧美日韩91 | 亚洲精品福利在线 | 99久久久久久 | 久久久久亚洲 | 九热精品 | 日韩特黄一级欧美毛片特黄 | 中国1级黄色片 | 亚洲第一av| 日韩欧美精品一区二区三区 | 日韩日韩| 国产精品久久九九 | 成人久久18免费观看 | 亚洲成人精品久久久 | 亚洲国产精品久久久久 | 丁香婷婷综合激情五月色 | 成人久久18 | 在线色网站 | 国产欧美一区二区精品性色 | 国产精品美女久久久久久久久久久 | 久久精品亚洲一区二区 | 欧美日韩中文国产一区发布 | 欧美成人激情视频 | www.国产一区 | 国产成人av电影 | 在线中文视频 | 午夜视频一区二区三区 | 免费午夜电影 | caoporn国产精品免费公开 | 久久久久久久久综合 | 91精品久久| 国产精品高颜值在线观看 | 亚洲成人精品区 | 中文字幕精品一区久久久久 | 精品久久久久久久 | 亚洲精品美女久久 | 毛片在线视频 | 中国妞xxx| 91资源在线观看 | 在线播放国产一区二区三区 | 视频久久精品 | 免费观看一级视频 | 一级毛片视频播放 | 天天天天天天操 | 二区中文字幕 | 国产中文字幕在线观看 | 99re6热在线精品视频播放 | 日本综合视频 | 特级丰满少妇一级aaaa爱毛片 | 日本丶国产丶欧美色综合 | 国产日韩视频 | 欧美精品成人在线视频 | 欧美一级毛片免费观看 | 国精品一区二区三区 | 成人亚洲视频 | av大片| 日韩精品一区二区三区中文在线 | 日本天堂在线播放 | 99re6在线视频精品免费 | 99精品99| 国产亚洲一区二区精品 | 中文字幕在线视频网站 | 国产一区二区三区久久久久久 | 蜜桃免费视频 | 国产精品美女一区二区三区四区 | 成人夜晚看av | 成人影院在线 | 91.xxx.高清在线 | 国产亚洲一区二区三区在线观看 | 欧美 亚洲 另类 激情 另类 | 婷婷在线观看视频 | 国内自拍网站 | 婷色综合 | 台湾佬成人 | 老司机在线精品视频 | 欧美精品理论片大全 | 香蕉二区 | 国产毛片网站 | 日本黄色a视频 | 亚洲国产成人久久 | 国产片一区二区三区 | 91麻豆精品国产91久久久更新资源速度超快 | 欧美成人高清视频 | 久章操 | 国产欧美日韩综合精品一区二区 | 精品日本久久 | 成人免费观看男女羞羞视频 | 久久综合一区二区三区 | 亚洲精品一区二区三区在线 | 久久夜夜 | 久久99国产精品久久99大师 | 中文字幕在线视频网站 | 99国产精品视频免费观看一公开 | 国产亚洲女人久久久久毛片 | 夜操 | 国产综合在线视频 | 日韩福利片 | 欧美亚洲视频在线观看 | 久久久精品456亚洲影院 | 国产精品久久嫩一区二区 免费 | 久草视频在线首页 | 先锋av资源网 | 欧美亚洲国产日韩 | 免费在线黄色电影 | 欧美在线国产 | 久久国产精品精品国产 | 日本午夜在线 | 欧美久久精品 | 国内精品一区二区 | 国产精品禁久久精品 | 成人精品在线视频 | 亚洲福利在线观看 | 99热精品在线 | 色婷婷综合久久久中文字幕 | 国产福利视频在线观看 | 色一情 | 日本精品一区二区三区在线观看视频 | 亚洲 中文 欧美 日韩 在线观看 | 国产欧美日韩在线 | 欧美视频免费 | 国产精品久久久久aaaa九色 | 美女久久久久 | 久久久久久网站 | 日韩黄色片免费看 | 久久久精品网站 | 福利视频一 | 欧美一区二区三区视频 | 日韩欧美在线视频观看 | 欧美一区在线看 | 久久激情网 | 91视频在线观看 | 亚洲天堂一区二区 | 黄色精品视频 | 超碰人人爽 | 欧美日韩大片在线观看 | 中文字幕在线观看网站 | 三级视频在线 | 色吟av| 黄色一级毛片免费 | 99亚洲精品 | 亚洲 欧美 综合 | a级性视频| 91亚色| 国产精品视频一区二区三区 | 97超碰人人| 99re99 | 成人在线一区二区三区 | 精品国产色| 欧美一级特黄aaaaaaa在线观看 | 国产一区二区三区久久久 | 免费看国产一级特黄aaaa大片 | 日韩成人在线免费视频 | 日本中文字幕一区二区 | 天天精品| 亚洲精品视频在线免费 | 99久久九九| 国产精品福利视频 | 日韩极品视频 | 91亚洲日本| 日本电影www | 99久久久久国产精品免费 | 中文字幕第二十六页页 | 91超碰caoporn97人人 | 综合网亚洲| 一区二区三区四区免费观看 | 国产一区二区三区在线免费观看 | 在线色网站 | 一区二区日本 | 在线精品亚洲 | 色综久久 | 精品福利在线视频 | 视频在线一区二区 | 国产欧美一二三区在线粉嫩 | 不卡视频一区 | 日本不卡视频 | 中文字幕av免费 | 在线激情视频 | av av在线 | 成人免费视频网站 | 欧美精品福利视频 | 国产在线小视频 | 久草热8精品视频在线观看 欧美全黄 | 亚洲欧美在线一区二区 | 亚洲高清免费视频 | 亚洲区在线 | 欧美手机在线 | 亚洲热在线视频 | 亚洲综合精品 | 欧美一区二区三区在线观看视频 | 操人网站| 午夜在线 | 日本精品在线 | 99热成人在线 | 日韩在线视频在线观看 | 91免费在线播放 | 亚洲人成人一区二区在线观看 | 国产精品美女久久久久aⅴ国产馆 | 色资源站| 亚洲一区二区在线 | 99re视频在线观看 | 欧美黄视频在线观看 | 久久久成人网 | 日本不卡免费新一二三区 | 狠狠的干 | 精品色区 | 韩国成人精品a∨在线观看 国产伊人av | 国产 在线 | 日韩 | 亚洲精品乱码久久久久膏 | 午夜精品久久久久久99热软件 | 久久精品一区二区 | 亚洲精品一区二区网址 | 成人av免费观看 | 91精品久久久久久 | 精产国产伦理一二三区 | 国偷自产av一区二区三区 | 国产高潮失禁喷水爽网站 | 成人精品免费视频 |