成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識(shí)庫 > Lua字符串模式匹配函數(shù)小結(jié)

Lua字符串模式匹配函數(shù)小結(jié)

熱門標(biāo)簽:武漢外呼防封系統(tǒng)多少錢 個(gè)人怎么在地圖標(biāo)注需要的店鋪 冀州市地圖標(biāo)注 地圖標(biāo)注大廈 百度地圖標(biāo)注早餐區(qū)域 新岸線智能電銷機(jī)器人 清朝地圖標(biāo)注哈爾濱 漳州智云呼電話機(jī)器人 怎么去除地圖標(biāo)注

模式匹配函數(shù)

在string庫中功能最強(qiáng)大的函數(shù)是:

復(fù)制代碼 代碼如下:

string.find(字符串查找)
string.gsub(全局字符串替換)
string.gfind(全局字符串查找)
string.gmatch(返回查找到字符串的迭代器)

這些函數(shù)都是基于模式匹配的。與其他腳本語言不同的是,Lua并不使用POSIX規(guī)范的正則表達(dá)式[4](也寫作regexp)來進(jìn)行模式匹配。主要的原因出于程序大小方面的考慮:實(shí)現(xiàn)一個(gè)典型的符合POSIX標(biāo)準(zhǔn)的regexp大概需要4000行代碼,這比整個(gè)Lua標(biāo)準(zhǔn)庫加在一起都大。權(quán)衡之下,Lua中的模式匹配的實(shí)現(xiàn)只用了500行代碼,當(dāng)然這意味著不可能實(shí)現(xiàn)POSIX所規(guī)范的所有更能。然而,Lua中的模式匹配功能是很強(qiáng)大的,并且包含了一些使用標(biāo)準(zhǔn)POSIX模式匹配不容易實(shí)現(xiàn)的功能。

string.gmatch(str, pattern)     

這是一個(gè)返回迭代器的函數(shù). 實(shí)際的用例如下:

復(fù)制代碼 代碼如下:

s = "hello world from Lua"
for w in string.gmatch(s, "%a+") do
 print(w)
end

這里是一個(gè)捕獲并將配對字符分別存到不同變量的例子:
復(fù)制代碼 代碼如下:

t = {}
s = "from=world, to=Lua"
for k, v in string.gmatch(s, "(%w+)=(%w+)") do
 t[k]=v
end
for k, v in pairs(t) do
 print(k, v)
end

string.gsub(str, pattern, repl, n)

string.gsub()函數(shù)根據(jù)給定的配對表達(dá)式對源字符串str進(jìn)行配對, 同時(shí)返回源字符串的一個(gè)副本, 該副本中成功配對的所有子字符串都將被替換. 函數(shù)還將返回成功配對的次數(shù).實(shí)際的替換行為由repl參數(shù)的類型決定:

當(dāng)repl為字符串時(shí), 所有成功配對的子字符串均會(huì)被替換成指定的repl字串.

當(dāng)repl為table時(shí), 對每個(gè)成功配對的子字符串, 函數(shù)均會(huì)試圖尋找以其為key值的table中的元素, 并返回該元素. 如果該配對包含任何捕獲信息, 則以編號(hào)為1號(hào)的捕獲作為key值進(jìn)行查找.

當(dāng)repl為函數(shù)時(shí), 每個(gè)成功配對的子字符串均會(huì)作為參數(shù)被傳入到該函數(shù)中去.

在repl是table或函數(shù)時(shí), 如果該table或函數(shù)返回了字串或數(shù)字的值, 這個(gè)值依然會(huì)被用于替換副本字串中的配對子字串. 如果該table/函數(shù)返回的值為空, 將不發(fā)生替換.

n參數(shù)可選, 當(dāng)它被指定時(shí), string.gsub()函數(shù)只對源字符串中的前n個(gè)成功配對的成員進(jìn)行操作.

以下是幾個(gè)例子:

復(fù)制代碼 代碼如下:

> print(string.gsub("hello world", "(%w+)", "%1 %1"))
hello hello world world 2

> print(string.gsub("hello Lua", "(%w+)%s*(%w+)", "%2 %1"))
Lua hello 1

> string.gsub("hello world", "%w+", print)
hello world 2

> lookupTable = {["hello"] = "hola", ["world"] = "mundo"}
> print(string.gsub("hello world", "(%w+)", lookupTable))
hola mundo 2

string.match(str, pattern, init)

string.match()只尋找源字串str中的第一個(gè)配對. 參數(shù)init可選, 指定搜尋過程的起點(diǎn), 默認(rèn)為1.

在成功配對時(shí), 函數(shù)將返回配對表達(dá)式中的所有捕獲結(jié)果; 如果沒有設(shè)置捕獲標(biāo)記, 則返回整個(gè)配對字符串. 當(dāng)沒有成功的配對時(shí), 返回nil.

復(fù)制代碼 代碼如下:

string.match("abcdaef", "a")
-> a

string.reverse(str)

返回一個(gè)字符串的倒序排列

復(fù)制代碼 代碼如下:

string.reverse("abcde")
->edcba

string.dump(function)

返回指定函數(shù)的二進(jìn)制代碼(函數(shù)必須是一個(gè)Lua函數(shù),并且沒有上值)

string.find(str, pattern, init, plain)

string.find的基本應(yīng)用就是用來在目標(biāo)串(subject string)內(nèi)搜索匹配指定的模式的串。函數(shù)如果找到匹配的串返回他的位置,否則返回nil.最簡單的模式就是一個(gè)單詞,僅僅匹配單詞本身。比如,模式'hello'僅僅匹配目標(biāo)串中的"hello"。當(dāng)查找到模式的時(shí)候,函數(shù)返回兩個(gè)值:匹配串開始索引和結(jié)束索引。

復(fù)制代碼 代碼如下:

s = "hello world"
string.find(s, "hello")    --> 1    5
string.find(s, "world")    --> 7    11
string.find(s, "l")        --> 3    3
string.find(s, "lll")      --> nil

string.find函數(shù)第三個(gè)參數(shù)是可選的:標(biāo)示目標(biāo)串中搜索的起始位置。當(dāng)我們想查找目標(biāo)串中所有匹配的子串的時(shí)候,這個(gè)選項(xiàng)非常有用。我們可以不斷的循環(huán)搜索,每一次從前一次匹配的結(jié)束位置開始。下面看一個(gè)例子,下面的代碼用一個(gè)字符串中所有的新行構(gòu)造一個(gè)表:

復(fù)制代碼 代碼如下:

local t = {}      -- 存放回車符的位置
local i = 0
while true do
    i = string.find(s, "\n", i+1)  -- 查找下一行
    if i == nil then break end
    table.insert(t, i)
end

string.sub(str,sPos,ePos)

string.gsub的功能是截取字符串,他從指定起始位置截取一個(gè)字符串。string.sub可以利用string.find返回的值截取匹配的子串。
對簡單模式而言,匹配的就是其本身

復(fù)制代碼 代碼如下:

s = "hello world"
local i, j = string.find(s, "hello")    --> 1    5
string.sub(s, i, j)        --> hello

string.gsub(str, sourcestr, desstr)

string.gsub的基本作用是用來查找匹配模式的串,并將使用替換串其替換掉:

string.gsub函數(shù)有三個(gè)參數(shù):目標(biāo)串,模式串,替換串。

復(fù)制代碼 代碼如下:

s = string.gsub("Lua is cute", "cute", "great")
print(s)      --> Lua is great
s = string.gsub("all lii", "l", "x")
print(s)      --> axx xii
s = string.gsub("Lua is great", "perl", "tcl")
print(s)      --> Lua is great

第四個(gè)參數(shù)是可選的,用來限制替換的范圍:

復(fù)制代碼 代碼如下:

s = string.gsub("all lii", "l", "x", 1)
print(s)          --> axl lii
s = string.gsub("all lii", "l", "x", 2)
print(s)          --> axx lii

string.gsub的第二個(gè)返回值表示他進(jìn)行替換操作的次數(shù)。例如,下面代碼涌來計(jì)算一個(gè)字符串中空格出現(xiàn)的次數(shù):

復(fù)制代碼 代碼如下:

_, count = string.gsub(str, " ", " ")

(注意,_ 只是一個(gè)啞元變量)

模式

你還可以在模式串中使用字符類。字符類指可以匹配一個(gè)特定字符集合內(nèi)任何字符的模式項(xiàng)。比如,字符類%d匹配任意數(shù)字。所以你可以使用模式串'%d%d/%d%d/%d%d%d%d'搜索dd/mm/yyyy格式的日期:

復(fù)制代碼 代碼如下:

s = "Deadline is 30/05/1999, firm"
date = "%d%d/%d%d/%d%d%d%d"
print(string.sub(s, string.find(s, date)))    --> 30/05/1999

下面的表列出了Lua支持的所有字符類:

單個(gè)字符(除^$()%.[]*+-?外): 與該字符自身配對

.(點(diǎn)): 與任何字符配對
%a: 與任何字母配對
%c: 與任何控制符配對(例如\n)
%d: 與任何數(shù)字配對
%l: 與任何小寫字母配對
%p: 與任何標(biāo)點(diǎn)(punctuation)配對
%s: 與空白字符配對
%u: 與任何大寫字母配對
%w: 與任何字母/數(shù)字配對
%x: 與任何十六進(jìn)制數(shù)配對
%z: 與任何代表0的字符配對
%x(此處x是非字母非數(shù)字字符): 與字符x配對. 主要用來處理表達(dá)式中有功能的字符(^$()%.[]*+-?)的配對問題, 例如%%與%配對
[數(shù)個(gè)字符類]: 與任何[]中包含的字符類配對. 例如[%w_]與任何字母/數(shù)字, 或下劃線符號(hào)(_)配對
[^數(shù)個(gè)字符類]: 與任何不包含在[]中的字符類配對. 例如[^%s]與任何非空白字符配對

當(dāng)上述的字符類用大寫書寫時(shí), 表示與非此字符類的任何字符配對. 例如, %S表示與任何非空白字符配對.例如,'%A'非字母的字符

復(fù)制代碼 代碼如下:

print(string.gsub("hello, up-down!", "%A", "."))
    --> hello..up.down. 4

(數(shù)字4不是字符串結(jié)果的一部分,他是gsub返回的第二個(gè)結(jié)果,代表發(fā)生替換的次數(shù)。下面其他的關(guān)于打印gsub結(jié)果的例子中將會(huì)忽略這個(gè)數(shù)值。)在模式匹配中有一些特殊字符,他們有特殊的意義,Lua中的特殊字符如下:

復(fù)制代碼 代碼如下:

( ) . % + - * ? [ ^ $

'%' 用作特殊字符的轉(zhuǎn)義字符,因此 '%.' 匹配點(diǎn);'%%' 匹配字符 '%'。轉(zhuǎn)義字符 '%'不僅可以用來轉(zhuǎn)義特殊字符,還可以用于所有的非字母的字符。當(dāng)對一個(gè)字符有疑問的時(shí)候,為安全起見請使用轉(zhuǎn)義字符轉(zhuǎn)義他。

對Lua而言,模式串就是普通的字符串。他們和其他的字符串沒有區(qū)別,也不會(huì)受到特殊對待。只有他們被用作模式串用于函數(shù)的時(shí)候,'%' 才作為轉(zhuǎn)義字符。所以,如果你需要在一個(gè)模式串內(nèi)放置引號(hào)的話,你必須使用在其他的字符串中放置引號(hào)的方法來處理,使用 '\' 轉(zhuǎn)義引號(hào),'' 是Lua的轉(zhuǎn)義符。你可以使用方括號(hào)將字符類或者字符括起來創(chuàng)建自己的字符類(譯者:Lua稱之為char-set,就是指傳統(tǒng)正則表達(dá)式概念中的括號(hào)表達(dá)式)。比如,'[%w_]' 將匹配字母數(shù)字和下劃線,'[01]' 匹配二進(jìn)制數(shù)字,'[%[%]]' 匹配一對方括號(hào)。下面的例子統(tǒng)計(jì)文本中元音字母出現(xiàn)的次數(shù):

復(fù)制代碼 代碼如下:

_, nvow = string.gsub(text, "[AEIOUaeiou]", "")

在char-set中可以使用范圍表示字符的集合,第一個(gè)字符和最后一個(gè)字符之間用連字符連接表示這兩個(gè)字符之間范圍內(nèi)的字符集合。大部分的常用字符范圍都已經(jīng)預(yù)定義好了,所以一般你不需要自己定義字符的集合。比如,'%d' 表示 '[0-9]';'%x' 表示 '[0-9a-fA-F]'。然而,如果你想查找八進(jìn)制數(shù),你可能更喜歡使用 '[0-7]' 而不是 '[01234567]'。你可以在字符集(char-set)的開始處使用 '^' 表示其補(bǔ)集:'[^0-7]' 匹配任何不是八進(jìn)制數(shù)字的字符;'[^\n]' 匹配任何非換行符戶的字符。記住,可以使用大寫的字符類表示其補(bǔ)集:'%S' 比 '[^%s]' 要簡短些。

Lua的字符類依賴于本地環(huán)境,所以 '[a-z]' 可能與 '%l' 表示的字符集不同。在一般情況下,后者包括 'ç' 和 'ã',而前者沒有。應(yīng)該盡可能的使用后者來表示字母,除非出于某些特殊考慮,因?yàn)楹笳吒唵巍⒎奖?、更高效?/p>

可以使用修飾符來修飾模式增強(qiáng)模式的表達(dá)能力,Lua中的模式修飾符有四個(gè):

復(fù)制代碼 代碼如下:

+      匹配前一字符1次或多次
*      匹配前一字符0次或多次
-      匹配前一字符0次或多次
?      匹配前一字符0次或1次

'+',匹配一個(gè)或多個(gè)字符,總是進(jìn)行最長的匹配。比如,模式串 '%a+' 匹配一個(gè)或多個(gè)字母或者一個(gè)單詞:

復(fù)制代碼 代碼如下:

print(string.gsub("one, and two; and three", "%a+", "word"))
    --> word, word word; word word

'%d+' 匹配一個(gè)或多個(gè)數(shù)字(整數(shù)):

復(fù)制代碼 代碼如下:

i, j = string.find("the number 1298 is even", "%d+")
print(i,j)    --> 12  15

'*' 與 '+' 類似,但是他匹配一個(gè)字符0次或多次出現(xiàn).一個(gè)典型的應(yīng)用是匹配空白。比如,為了匹配一對圓括號(hào)()或者括號(hào)之間的空白,可以使用 '%(%s*%)'。( '%s*' 用來匹配0個(gè)或多個(gè)空白。由于圓括號(hào)在模式中有特殊的含義,所以我們必須使用 '%' 轉(zhuǎn)義他。)再看一個(gè)例子,'[_%a][_%w]*' 匹配Lua程序中的標(biāo)示符:字母或者下劃線開頭的字母下劃線數(shù)字序列。

'-' 與 '*' 一樣,都匹配一個(gè)字符的0次或多次出現(xiàn),但是他進(jìn)行的是最短匹配。某些時(shí)候這兩個(gè)用起來沒有區(qū)別,但有些時(shí)候結(jié)果將截然不同。比如,如果你使用模式 '[_%a][_%w]-' 來查找標(biāo)示符,你將只能找到第一個(gè)字母,因?yàn)?'[_%w]-' 永遠(yuǎn)匹配空。另一方面,假定你想查找C程序中的注釋,很多人可能使用 '/%*.*%*/'(也就是說 "/*" 后面跟著任意多個(gè)字符,然后跟著 "*/" )。然而,由于 '.*' 進(jìn)行的是最長匹配,這個(gè)模式將匹配程序中第一個(gè) "/*" 和最后一個(gè) "*/" 之間所有部分:

復(fù)制代碼 代碼如下:

test = "int x; /* x */ int y; /* y */"
print(string.gsub(test, "/%*.*%*/", "COMMENT>"))
    --> int x; COMMENT>

然而模式 '.-' 進(jìn)行的是最短匹配,她會(huì)匹配 "/*" 開始到第一個(gè) "*/" 之前的部分:

復(fù)制代碼 代碼如下:

test = "int x; /* x */ int y; /* y */"
print(string.gsub(test, "/%*.-%*/", "COMMENT>"))
    --> int x; COMMENT> int y; COMMENT>

'?' 匹配一個(gè)字符0次或1次。舉個(gè)例子,假定我們想在一段文本內(nèi)查找一個(gè)整數(shù),整數(shù)可能帶有正負(fù)號(hào)。模式 '[+-]?%d+' 符合我們的要求,它可以匹配像 "-12"、"23" 和 "+1009" 等數(shù)字。'[+-]' 是一個(gè)匹配 '+' 或者 '-' 的字符類;接下來的 '?' 意思是匹配前面的字符類0次或者1次。

與其他系統(tǒng)的模式不同的是,Lua中的修飾符不能用字符類;不能將模式分組然后使用修飾符作用這個(gè)分組。比如,沒有一個(gè)模式可以匹配一個(gè)可選的單詞(除非這個(gè)單詞只有一個(gè)字母)。下面我將看到,通常你可以使用一些高級技術(shù)繞開這個(gè)限制。
以 '^' 開頭的模式只匹配目標(biāo)串的開始部分,相似的,以 '$' 結(jié)尾的模式只匹配目標(biāo)串的結(jié)尾部分。這不僅可以用來限制你要查找的模式,還可以定位(anchor)模式。比如:

復(fù)制代碼 代碼如下:

if string.find(s, "^%d") then ...

檢查字符串s是否以數(shù)字開頭,而

復(fù)制代碼 代碼如下:

if string.find(s, "^[+-]?%d+$") then ...

檢查字符串s是否是一個(gè)整數(shù)。
'%b' 用來匹配對稱的字符。常寫為 '%bxy' ,x和y是任意兩個(gè)不同的字符;x作為匹配的開始,y作為匹配的結(jié)束。比如,'%b()' 匹配以 '(' 開始,以 ')' 結(jié)束的字符串:

復(fù)制代碼 代碼如下:

print(string.gsub("a (enclosed (in) parentheses) line", "%b()", ""))
--> a line

常用的這種模式有:'%b()' ,'%b[]','%b%{%}' 和 '%b>'。你也可以使用任何字符作為分隔符。

您可能感興趣的文章:
  • Lua中使用table.concat連接大量字符串實(shí)例
  • Lua教程(五):C/C++操作Lua數(shù)組和字符串示例
  • Lua中字符串(string)淺析
  • Lua字符串庫中的幾個(gè)重點(diǎn)函數(shù)介紹
  • Lua函數(shù)與字符串處理簡明總結(jié)
  • 使用lua實(shí)現(xiàn)split字符串分隔
  • Lua中的string庫(字符串函數(shù)庫)總結(jié)
  • Lua字符串庫(string庫)學(xué)習(xí)筆記
  • Lua源碼中字符串類型的實(shí)現(xiàn)

標(biāo)簽:宣城 天門 德宏 金昌 臺(tái)灣 儋州 濰坊 天門

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Lua字符串模式匹配函數(shù)小結(jié)》,本文關(guān)鍵詞  Lua,字符串,模式,匹配,函數(shù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Lua字符串模式匹配函數(shù)小結(jié)》相關(guān)的同類信息!
  • 本頁收集關(guān)于Lua字符串模式匹配函數(shù)小結(jié)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    av色影在线看免费| 国产原创剧情av| 中文字幕一区二区三区不卡在线| 精品久久久久久久中文字幕| 日韩a**中文字幕| 国产中文字幕在线播放| 凹凸成人精品亚洲精品密奴| 亚洲成av人影片在线观看| 国产精品第10页| 久久7799| 亚洲不卡视频在线观看| 91色在线视频| avav在线播放| 亚洲精品一区二区在线| 久99久在线| 欧美视频免费看欧美视频| 欧美精品久久96人妻无码| 欧美日韩国产不卡在线看| 成人深夜直播免费观看| 亚洲精品**中文毛片| 亚洲国产精品视频在线观看| 91国语精品自产拍在线观看性色| 日韩伦理在线视频| 二区三区在线播放| 手机看片1024国产| 欧美一级淫片a免费视频| 黄色三级视频在线观看| 欧美性猛交xxxxx水多| 欧美123区| 天天摸天天操天天干| 亚洲国产精彩中文乱码av在线播放| 一级黄色片国产| 亚洲一区二区三区777| 欧美三级午夜理伦三级老人| 日本成人三级电影网站| 欧美另类精品xxxx孕妇| 91麻豆国产福利在线观看| 欧美一区二区三区电影在线观看| 国产精品三级网站| 欧美h视频在线观看| 国产精品久久久久久久一区二区| 精品久久人妻av中文字幕| 成久久久网站| 国产精品欧美久久久久一区二区| 综合日韩在线| 久久综合中文字幕| 很污的网站在线观看| 8×8x拔擦拔擦在线视频网站| 成年网站在线视频网站| 三级在线观看| 99精品美女视频在线观看热舞| 天堂网www在线观看| 精品成人无码久久久久久| 久久婷婷一区二区| 欧美偷窥清纯综合图区| 国产不卡精品在线| 国产日韩欧美在线观看| 青娱乐精品视频| 中日韩av电影| 热久久这里只有精品| 欧美精品久久久久久久久久丰满| 国产美女精品免费电影| 日韩在线一级片| 99成人国产精品视频| 2021久久精品国产99国产精品| 亚洲精品一区二区三区蜜桃下载| 亚洲国产精品一| 成人午夜激情片| 亚洲欧美一区二区三区久久| 亚洲精品日韩av| 国产免费无码一区二区| 97欧洲一区二区精品免费| yw193.com尤物在线| 不卡视频一二三四| 亚洲一区二区福利视频| 日韩不卡在线播放| 在线免费观看你懂的| 久久综合成人| 精品卡一卡卡2卡3网站| 国产一区高清视频| 日本福利一区| 黑人精品无码一区二区三区AV| 久久动漫亚洲| 亚洲成人免费观看| 最近中文字幕2019第二页视频| 一本一道久久a久久| 牛牛影视一区二区三区免费看| 玩弄japan白嫩少妇hd| 免费在线播放第一区高清av| 久久久久亚洲av无码网站| 国产精品高潮呻吟久久av野狼| 大地资源中文在线观看免费版| 国产精品久久久久久av公交车| 99视频免费观看蜜桃视频| 亚洲最大中文字幕| 51国产偷自视频区视频| 成 人免费视频播放| 国产精品露出视频| 91蜜桃网站免费观看| 91麻豆精品国产91久久久使用方法| 亚洲播播91| 北条麻妃视频在线| 欧美韩日一区二区| 中文在线字幕观看| 欧美 日本 亚洲| 国产 福利 在线| 免费看的www视频网站视频| 国产成人一区二区三区小说| 欧美最猛黑人猛交69| 亚洲成人综合视频| 一级α片免费看刺激高潮视频| 免费黄色在线网站| 亚洲影视综合| 日韩经典在线观看| 在线观看视频二区| 超碰人人人人人人| 久久在线精品视频| 日韩一级片av| 亚洲一区二区自偷自拍| 人人超碰91尤物精品国产| 男人日女人下面视频| 黑巨茎大战欧洲金发美女| 97人澡人人添人人爽欧美| 精品伊人久久大线蕉色首页| 97人人爽人人爽人人爽| 天天视频一区二区三区| 99久re热视频精品98| 免费黄色av网址| 久久久久黄色片| 亚洲永久精品大片| 最美情侣韩剧在线播放| 欧美日韩免费一区二区| 天天骑夜夜操| 91av在线免费观看视频| 午夜欧美在线一二页| 欧美极品少妇xxxxⅹ裸体艺术| 久热中文字幕精品视频在线| 国产亚洲精品久久久久久777| 99精品全国免费观看视频软件| 99久久精品费精品国产| 久久久91麻豆精品国产一区| 国产精品v欧美精品v日本精品动漫| 亚洲精品视频观看| 亚洲精品成人无码熟妇在线| 在线免费观看一区二区三区| 亚洲天堂免费看| 日本乱码一区二区三区不卡| 色噜噜狠狠一区二区三区狼国成人| 日韩中文字幕在线观看视频| 日本加勒比高清在线| 国产精品视频一二三区| 国产精品第一页在线| 奴色虐av一区二区三区| 久久久精品动漫| 一本一本久久a久久精品综合麻豆| 中文字幕欧美专区| 好看的av在线不卡观看| 男人天堂视频在线观看| 韩剧1988免费观看全集| 少妇精品一区二区| 在线看片第一页欧美| 性高潮久久久久久| 超碰97久久国产精品牛牛| 91国产丝袜播放在线| 91精品视频在线播放| wwwav在线| 影视先锋av资源站| 亚洲一区二区精品3399| 亚洲一区二区三区中文字幕| 午夜日韩影院| 成人在线一区二区| 免费在线国产视频| 欧美精品生活片| 成人女保姆的销魂服务| 奇米色一区二区三区四区| 91九色porny在线| 97视频免费观看| 一级二级黄色片| 欧美一级二级视频| 欧美在线免费观看亚洲| 国产欧美日本| 天天射天天色天天干| 国产精品沙发午睡系列990531| 国产精品国产三级国产专区52| 成人激情视频在线| 女同毛片一区二区三区| 激情黄产视频在线免费观看| 亚洲av成人无码久久精品| 久久精品视频91| 亚洲欧美综合一区| 免费观看一级特黄欧美大片| 永久免费看片直接| 久久久亚洲国产天美传媒修理工| 日本www在线播放| 乡村艳史在线观看| 色先锋av影音| 久热这里只精品99re8久| 欧美影院精品一区| 亚洲网站三级| 日本福利片高清在线观看| 亚洲午夜未满十八勿入免费观看全集| 久在线观看视频| 久久97人妻无码一区二区三区| 亚洲黄色av网址| 欧美日韩在线亚洲一区蜜芽| 日韩欧美精品免费| 欧美大秀在线观看| 欧美激情视频二区| 日韩va在线观看| 亚洲一级二级三级在线免费观看| 亚洲aⅴ优女av综合久久久| 综合久久一区二区三区| 中日韩av在线| 国产精品一区二区久久久| xfplay资源站夜色先锋| 色噜噜狠狠色综合中国| 伊人波多野结衣| 日本成人免费| 美女精品一区最新中文字幕一区二区三区| 国产精品观看| 久久精品色综合| 日韩护士脚交太爽了| 视频在线在亚洲| 欧美电影完整版在线观看| 国产精品久久国产精品99gif| 久久精品91| 日韩成人免费在线| 日韩高清在线免费观看| 亚洲精品xxxx| 芬兰videosfree性少妇| 天堂8在线天堂资源bt| 欧美精品久久99久久在免费线| 国产精品亚洲片夜色在线| 黄色录像免费观看| 欧美大片va欧美在线播放| 久久久综合亚洲91久久98| 日韩午夜小视频| 亚洲成av人片一区二区三区| 日本中文字幕成人| 老司机免费视频一区二区| 黄页网址大全免费观看| 国产内射老熟女aaaa| 国产不卡av在线| 97人人爽人人爽人人爽| 亚洲无线码在线一区观看| 黄色99视频| 我和岳m愉情xxxⅹ视频| 337p粉嫩大胆噜噜噜鲁| 亚洲欧美中文字幕| 不卡的av影片| 欧美成人精品不卡视频在线观看| 91精品在线观看入口| 蜜桃av噜噜一区二区三区麻豆| av福利导福航大全在线| y111111国产精品久久婷婷| 中文字幕亚洲欧美日韩高清| 国产91对白在线播放| 亚洲欧美视频一区二区三区| 一本色道久久综合亚洲二区三区| 欧美在线视频播放| 国产一区二区三区视频在线播放| 中文一区一区三区高中清不卡| 国产少妇在线观看| 欧美亚洲国产日韩2020| 北条麻妃一区二区三区中文字幕| 91精品久久久久久久久中文字幕| 欧区一欧区二欧区三| 蜜桃传媒一区二区| 免费国产在线视频| 九九视频精品全部免费播放| 国产毛片一区二区| 中文字幕日韩av资源站| 久久久久久久国产视频| 国产剧情一区| 成人精品视频一区二区三区| 国产女主播在线写真| 中文字幕一区av| www日韩视频| 四虎视频在线精品免费网址| 在线观看欧美日韩电影| 一本一本久久a久久综合精品蜜桃| 91av视频| 精油按摩中文字幕久久| 日韩精品在线看片z| 日韩簧片在线观看| 成人免费看的视频| av亚洲产国偷v产偷v自拍| 成人免费看视频网站| 日韩高清第一页| 国产精品18久久久久网站| 秋霞网一区二区三区| 岛国在线视频网站| 伊人精品久久久久7777| 成人涩涩网站| 免费高清视频在线一区| 中文字幕在线播放视频| 黄色短视频在线观看| 91精品久久久久久久久青青| 91香蕉国产线在线观看| 午夜视频在线观看一区二区三区| 毛片网站在线观看| 日韩一区中文| 91综合久久一区二区| 97dyy97影院理论片在线| 欧美三级午夜理伦三级中视频| av一区在线| 涩涩网站在线观看| 日韩视频在线一区二区三区| 在线免费黄色| 美国一级片在线免费观看视频| 香蕉视频亚洲一级| 日本成人黄色网址| 九九大香尹人视频免费| 精品盗摄一区二区三区| 中国人体摄影一区二区三区| 国产精品一卡二卡三卡| 欧美寡妇偷汉性猛交| 一级黄色大片免费看| 国产成人精品123区免费视频| 国产精品久久久久久无人区| 777精品伊人久久久久大香线蕉| 国产三级在线播放| 欧美女激情福利| 欧美日韩成人免费| 午夜在线观看一区| 欧美日韩一本到| 亚洲一区二区三区久久| 美女久久网站|