午夜视频免费看_日韩三级电影网站_国产精品久久一级_亚洲一级在线播放_人妻体内射精一区二区三区_91夜夜揉人人捏人人添红杏_91福利在线导航_国产又粗又猛又黄又爽无遮挡_欧美日韩一区在线播放_中文字幕一区二区三区四区不卡 _日日夜夜精品视频免费观看_欧美韩日一区二区三区

主頁 > 知識庫 > Lua字符串模式匹配函數小結

Lua字符串模式匹配函數小結

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

模式匹配函數

在string庫中功能最強大的函數是:

復制代碼 代碼如下:

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

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

string.gmatch(str, pattern)     

這是一個返回迭代器的函數. 實際的用例如下:

復制代碼 代碼如下:

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

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

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()函數根據給定的配對表達式對源字符串str進行配對, 同時返回源字符串的一個副本, 該副本中成功配對的所有子字符串都將被替換. 函數還將返回成功配對的次數.實際的替換行為由repl參數的類型決定:

當repl為字符串時, 所有成功配對的子字符串均會被替換成指定的repl字串.

當repl為table時, 對每個成功配對的子字符串, 函數均會試圖尋找以其為key值的table中的元素, 并返回該元素. 如果該配對包含任何捕獲信息, 則以編號為1號的捕獲作為key值進行查找.

當repl為函數時, 每個成功配對的子字符串均會作為參數被傳入到該函數中去.

在repl是table或函數時, 如果該table或函數返回了字串或數字的值, 這個值依然會被用于替換副本字串中的配對子字串. 如果該table/函數返回的值為空, 將不發生替換.

n參數可選, 當它被指定時, string.gsub()函數只對源字符串中的前n個成功配對的成員進行操作.

以下是幾個例子:

復制代碼 代碼如下:

> 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中的第一個配對. 參數init可選, 指定搜尋過程的起點, 默認為1.

在成功配對時, 函數將返回配對表達式中的所有捕獲結果; 如果沒有設置捕獲標記, 則返回整個配對字符串. 當沒有成功的配對時, 返回nil.

復制代碼 代碼如下:

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

string.reverse(str)

返回一個字符串的倒序排列

復制代碼 代碼如下:

string.reverse("abcde")
->edcba

string.dump(function)

返回指定函數的二進制代碼(函數必須是一個Lua函數,并且沒有上值)

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

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

復制代碼 代碼如下:

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函數第三個參數是可選的:標示目標串中搜索的起始位置。當我們想查找目標串中所有匹配的子串的時候,這個選項非常有用。我們可以不斷的循環搜索,每一次從前一次匹配的結束位置開始。下面看一個例子,下面的代碼用一個字符串中所有的新行構造一個表:

復制代碼 代碼如下:

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的功能是截取字符串,他從指定起始位置截取一個字符串。string.sub可以利用string.find返回的值截取匹配的子串。
對簡單模式而言,匹配的就是其本身

復制代碼 代碼如下:

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函數有三個參數:目標串,模式串,替換串。

復制代碼 代碼如下:

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

第四個參數是可選的,用來限制替換的范圍:

復制代碼 代碼如下:

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的第二個返回值表示他進行替換操作的次數。例如,下面代碼涌來計算一個字符串中空格出現的次數:

復制代碼 代碼如下:

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

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

模式

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

復制代碼 代碼如下:

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支持的所有字符類:

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

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

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

復制代碼 代碼如下:

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

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

復制代碼 代碼如下:

( ) . % + - * ? [ ^ $

'%' 用作特殊字符的轉義字符,因此 '%.' 匹配點;'%%' 匹配字符 '%'。轉義字符 '%'不僅可以用來轉義特殊字符,還可以用于所有的非字母的字符。當對一個字符有疑問的時候,為安全起見請使用轉義字符轉義他。

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

復制代碼 代碼如下:

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

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

Lua的字符類依賴于本地環境,所以 '[a-z]' 可能與 '%l' 表示的字符集不同。在一般情況下,后者包括 'ç' 和 'ã',而前者沒有。應該盡可能的使用后者來表示字母,除非出于某些特殊考慮,因為后者更簡單、方便、更高效。

可以使用修飾符來修飾模式增強模式的表達能力,Lua中的模式修飾符有四個:

復制代碼 代碼如下:

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

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

復制代碼 代碼如下:

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

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

復制代碼 代碼如下:

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

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

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

復制代碼 代碼如下:

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

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

復制代碼 代碼如下:

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

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

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

復制代碼 代碼如下:

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

檢查字符串s是否以數字開頭,而

復制代碼 代碼如下:

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

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

復制代碼 代碼如下:

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

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

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

標簽:宣城 天門 德宏 金昌 臺灣 儋州 濰坊 天門

巨人網絡通訊聲明:本文標題《Lua字符串模式匹配函數小結》,本文關鍵詞  Lua,字符串,模式,匹配,函數,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Lua字符串模式匹配函數小結》相關的同類信息!
  • 本頁收集關于Lua字符串模式匹配函數小結的相關信息資訊供網民參考!
  • 推薦文章
    正在播放一区| 一区二区欧美在线观看| 国产精品一区二区三区在线播放| 国产美女网站视频| 亚洲一区二区三区在线播放| 蜜桃成人在线| 91在线视频国产| 亚洲精品美女在线观看| 国产成人在线综合| 91首页免费视频| 成人激情在线播放| 久久亚洲精品国产| 91精品国模一区二区三区| 爱情岛论坛vip永久入口| 成人av网站免费观看| 亚洲永久免费观看| 国产又粗又猛又爽又| 伊人久久精品视频| 一级特黄a大片免费| 亚洲一区精品在线| 国产黄页在线观看| 99久久精品国产导航| 91日韩久久| 99久久久久久久| 久久av资源网站| 911国产在线| 日韩一区二区免费视频| 五月天婷婷在线观看视频| 亚洲三级电影全部在线观看高清| 欧美日韩免费观看一区| 久久精品盗摄| 国产精品久久久久久久久免费看 | 国产精品国产一区二区| 黄色av免费观看| 青青草原成人在线视频| 久久精品国产亚洲av香蕉 | 亚洲高清123| 成人在线视频首页| 欧美午夜精品久久久久免费视| 久久久精品日韩| 国产精品com| 中国女人一级一次看片| 欧美另类高清videos| 日本少妇激情视频| 最近2019年好看中文字幕视频| 精品一区二区三区蜜桃在线| 欧美一区二区三区影视| 久久久久亚洲av无码网站| 色噜噜狠狠成人网p站| 国产成人精品无码播放| 欧美国产日本视频| 久久人人爽人人爽人人av| 91片在线免费观看| 99热久久这里只有精品| 中文字幕在线不卡视频| 波多野结衣一本| 日本国产一区二区| 波多野结衣视频播放| 日韩欧美成人午夜| 亚洲女人久久久| 精品国产美女在线| 91成人在线免费| 成人日韩av在线| 国产精品一区2区| 一区二区三区av在线| 国产精品嫩草99a| 三年中国国语在线播放免费| 欧美在线一二三| 亚洲av熟女国产一区二区性色| 亚洲性av在线| 一道本在线视频| 国产精成人品localhost| 成人美女视频在线看| 一卡二卡三卡视频| 色综合激情久久| 九九九视频在线观看| 精品国模在线视频| 亚洲第一大网站| 久久草.com| 午夜精品aaa| 男人操女人下面视频| 亚洲第一精品电影| 成年人一级黄色片| 欧美成人久久久| 国产精品系列视频| 动漫一区二区在线| 国产成人99久久亚洲综合精品| 国产91对白在线播放| 日本系列欧美系列| 东北少妇不带套对白| 色呦呦一区二区三区| 亚洲精品91在线| 久久九九全国免费精品观看| 一区二区三区亚洲视频| 成人久久久久久| 久久精品国产在热久久| 亚洲第一综合网站| 亚洲午夜精品17c| 免费看黄色av| 欧美另类在线观看| 日本伊人色综合网| 国产精品videossex国产高清| 五月婷婷综合网| 精品成人av一区二区三区| 日韩午夜在线视频| 深夜福利视频网站| 午夜探花在线观看| 欧美疯狂性受xxxxx喷水图片| 欧美极品aaaaabbbbb| 日韩av电影国产| 国产aⅴ精品一区二区三区色成熟| 激情网站五月天| 欧美一区欧美二区| 亚洲国产精品无码久久久| 成人自拍偷拍| 成人免费在线视频| 蜜桃av乱码一区二区三区| 欧美激情综合色综合啪啪五月| 日韩电影在线免费| 日本熟妇人妻xxxx| 欧美日韩成人激情| 日韩av在线播放观看| 亚洲a级在线播放观看| 国产女人18水真多18精品一级做| 日本少妇xxxx| 日本三级韩国三级久久| 国产午夜三级一区二区三| 日本中文字幕精品| 久久久久久久网站| 国产一区在线视频| 日本高清久久久| 中文字幕成人精品久久不卡| 蜜桃视频一区二区| 午夜免费福利视频在线观看| 超碰91人人草人人干| 狠狠色狠狠色综合系列| 九九九九九伊人| 色视频www在线播放国产成人| 蜜桃视频一区二区三区| 在线观看免费不卡av| 久久夜色精品国产| 91视频com| 国产又粗又猛又爽又黄的视频四季| 国产精品极品在线| 亚洲视频在线观看一区| 天天色影综合网| http;//www.99re视频| 亚洲制服欧美中文字幕中文字幕| 国产乡下妇女做爰视频| 亚洲精品影院| 亚洲精品国精品久久99热一| 蜜桃视频一区二区三区 | 久久精品女同亚洲女同13| 91精品国产乱码久久久久久蜜臀| 成人av手机在线观看| 免费看污片网站| 国产91亚洲精品一区二区三区| 色哟哟国产精品免费观看| 国产sm主人调教女m视频| 中国丰满人妻videoshd| 久久精品视频在线播放| 久久综合九色综合97婷婷| 精品熟妇无码av免费久久| 国产精品v欧美精品v日韩| 欧美日本在线一区| 视频一区二区三区在线| 中文字幕在线国产| 成人精品久久av网站| 激情久久av一区av二区av三区 | 精品久久久久久久久久国产 | 国产精品中文有码| 九九这里只有精品视频| 日韩资源av在线| 亚洲欧洲成视频免费观看| 99久久99久久免费精品蜜臀| 久久久久99精品成人片试看| 一级日韩一区在线观看| 一区二区av在线| 久久亚洲精精品中文字幕早川悠里| 永久免费未视频| 亚洲v国产v| 中文字幕欧美日韩在线| 久久精品在线免费观看| 中文字幕超碰在线| 黄色a级片免费看| 欧美人在线视频| 日韩毛片视频在线看| 91视频免费网址| 欧美亚洲精品一区二区| 国产精品男人爽免费视频1| 91福利在线播放| 国产精品综合在线视频| 国产在线视频99| 无码精品a∨在线观看中文| 欧美黄色三级网站| 精品magnet| 久久99热这里只有精品| 国产精品成人久久| 日本超碰在线观看| 999国产视频| 日韩精品视频中文在线观看| 国产亚洲欧美中文| ,一级淫片a看免费| 国产又粗又长又爽| 一区二区精品在线观看| 午夜欧美大片免费观看| 欧美性猛交一区二区三区精品| 亚洲三级中文字幕| 中文字幕观看av| 日韩视频第二页| 懂色中文一区二区三区在线视频| 日韩中文字幕国产| 亚洲狠狠爱一区二区三区| 久久国产精品区| 欧美黑人一级片| 小泽玛利亚视频在线观看| 国产伦精品一区二区三区高清| 色综合伊人色综合网| 日韩欧美aaa| 97久久精品人人爽人人爽蜜臀 | 国产99在线播放| 在线亚洲男人天堂| 激情久久av一区av二区av三区 | 亚洲欧洲xxxx| 一本大道久久a久久综合婷婷| 岛国av在线一区| www.好吊色| 老女人性淫交视频| 亚洲第一色av| 亚洲黄色网址在线观看| 国产日韩欧美自拍| 最近中文字幕日韩精品| 欧美性做爰猛烈叫床潮| 日本一区二区视频在线| 蜜臀av性久久久久蜜臀av麻豆| 日本熟妇成熟毛茸茸| 国产成人av片| 国产精品后入内射日本在线观看| 蜜桃麻豆91| 国产精品久久二区| 久久精品这里热有精品| 欧美男男青年gay1069videost| 国产欧美日韩不卡| 国产精一品亚洲二区在线视频| 国产丝袜在线视频| 日韩av大片在线观看| 久久久亚洲av波多野结衣| 国产肥臀一区二区福利视频| 欧美日韩中文国产一区发布| 国产精品99久久久久久白浆小说| 国产亚洲精品一区二区| 911精品国产一区二区在线| 亚洲精品久久嫩草网站秘色| av欧美精品.com| 美女www一区二区| 久久午夜鲁丝片| 欧美日韩中文视频| 国产成人免费观看网站| 久久久无码人妻精品无码| 久久综合色视频| gogogo免费高清日本写真| 国产精华一区| 成人亚洲欧美一区二区三区| 欧洲亚洲免费视频| 欧美区二区三区| 亚洲色图综合久久| 欧美精品一区二区久久婷婷 | 亚洲国产成人av| 国产精品国产三级国产普通话三级| 国产91富婆露脸刺激对白| 五月婷婷免费视频| 国产精品久久婷婷| 亚洲另类欧美日韩| 欧美另类视频在线观看| 久久久精品视频免费观看| 中文字幕第69页| 精品无码在线观看| 男插女视频网站| 污污的视频免费| 欧美激情第3页| 在线观看av网页| 一道本视频在线观看| 久久网站免费视频| 91专区在线观看| 欧美黄色免费影院| 成人一区二区三| 亚洲精品一二三四五区| 国模吧无码一区二区三区| 日本十八禁视频无遮挡| 大肉大捧一进一出好爽视频| 激情六月丁香婷婷| jizzzz日本| 亚洲高清视频免费| 日本中文字幕有码| 麻豆av免费观看| 少妇视频一区二区| 久久久久久久9999| 日韩欧美一区二区一幕| 欧美精品一二三四区| 中国a一片一级一片| 国产喷水吹潮视频www| 亚洲成人久久精品| 视频在线观看91| 国产一区二三区| 91污在线观看| 亚洲欧美激情插 | 国产免费一区二区三区香蕉精| 国产精品高清一区二区三区| 欧美激情论坛| 成人高清dvd| 国产精品丝袜久久久久久消防器材| 亚洲老女人av| 精品人妻一区二区三区香蕉| 蜜桃av免费看| 杨钰莹一级淫片aaaaaa播放| 午夜精品久久久久久久久久久久久蜜桃 | 成人h动漫精品一区二区| 中文字幕va一区二区三区| 欧美日韩免费一区| 这里只有精品99re| 亚洲丝袜av一区| 久久欧美在线电影| 91久久伊人青青碰碰婷婷| 亚洲视频精品一区| 成年网站在线免费观看| 欧美一级大片免费看| 性欧美一区二区| 麻豆精品久久久久久久99蜜桃| 天堂网2014av| caoporm超碰国产精品| 亚洲在线视频免费观看| 在线精品日韩| 国产精品一二区| 日韩 欧美 视频| 国产91丝袜美女在线播放| 草逼视频免费看| 亚洲精品福利视频网站| 亚洲欧美制服中文字幕| 国产中文欧美精品| 最新不卡av| 超级砰砰砰97免费观看最新一期 | 亚洲欧美成人精品| 亚洲一区中文字幕| 美女又爽又黄视频毛茸茸| 无码h黄肉3d动漫在线观看| 成人欧美一区二区三区视频网页| 亚洲女人天堂成人av在线| 亚洲伊人久久大香线蕉av| 亚洲精品女人久久久| 欧美一级淫片aaaaaa| 在线视频国内一区二区| 三区精品视频| 99热在线这里只有精品| 日本成人xxx| www.毛片.com| 国产一区二区三区精品欧美日韩一区二区三区 | 色偷偷噜噜噜亚洲男人| 穿情趣内衣被c到高潮视频| 欧美日韩在线视频免费| 久久久精品综合| 欧美极品少妇xxxxⅹ裸体艺术 | www.日韩一区| 精品国产精品三级精品av网址| 国产美女久久精品香蕉69| av不卡中文字幕| 五月天婷婷视频| 91福利社在线观看| 亚洲最大的av网站| www.av欧美| 国产一区二区在线影院| 亚洲欧美在线免费| 国产精品又粗又长| 久久99国产精品久久99果冻传媒| av在线一区二区三区| 久久久久久国产精品一区| 99视频在线播放| 丁香婷婷激情网| 久久久精品国产一区二区| 97精品欧美一区二区三区| 四虎影院一区二区三区 | 最新日韩av在线| 这里精品视频免费| 欧美午夜精品久久久久免费视| 精品无码人妻少妇久久久久久| 亚洲永久精品在线观看| 成人午夜在线视频| 精品福利一区二区三区| 国产精品一区二区不卡视频| xxx国产在线观看| 国产一区二区小视频| 亚洲你懂的在线视频| 欧美日韩成人在线视频| 综合久久国产| www.99re7| 国产精品一二三区| 日韩精品综合一本久道在线视频| 91久久精品一区二区别| 国产免费一区二区三区最新6| 天天干天天色天天| 欧美视频中文字幕| 亚洲最大福利视频网| 国产大学生视频| 秋霞视频一区二区| 欧美三级韩国三级日本三斤| 国产精品亚洲激情| 国产精品999.| 久久黄色影院| 欧美一二三区在线观看| 欧美日韩日本网| 91久久久久久久久久久久久久|