欧美性色黄大片www喷水-蜜桃av在线播放-人妻无码αv中文字幕久久琪琪布-乱码午夜-极品国产内射-久久久福利视频-久久久久网址

您現在所在的位置:首頁 >學習資源 > Python全棧+人工智能入門教材 > Python基礎入門教程32.企業級開發進階4:正則表達式

Python基礎入門教程32.企業級開發進階4:正則表達式

來源:奇酷教育 發表于:

本節內容,要講解的和我們的信息檢索有關系,這一方面也是Python在目前非常流行的一個應用方向:爬蟲。本節內容什么是正則表達式正則表達式

本節內容,要講解的和我們的信息檢索有關系,這一方面也是Python在目前非常流行的一個應用方向:爬蟲。

本節內容

  • 什么是正則表達式
  • 正則表達式入門程序
  • python中的正則表達式模塊介紹
  • 正則表達式元字符匹配
  • 正則表達式量詞匹配
  • 正則表達式范圍匹配
  • 正則表達式分組匹配
  • 正則表達式的貪婪模式和懶惰模式
  • 正則表達式特殊匹配

1. 什么是正則表達式

正則表達式:也成為規則表達式,英文名稱Regular Expression,我們在程序中經常會縮寫為regex或者regexp,專門用于進行文本檢索、匹配、替換等操作的一種技術。
注意:正則表達式是一種獨立的技術,并不是某編程語言獨有的

關于正則表達式的來歷
long long logn years ago,美國新澤西州的兩個人類神經系統工作者,不用干正事也能正常領工資的情況下,有段時間閑的發慌,于是他們開始研究一個課題~怎么使用數學方式來描述人類的神經網絡。

這一研究,還真是搞事!另一個數學家Stephen Kleene根據他們的研究基礎,通過數學算法處理,發布了《神經網事件表示法》,利用的就是正則集合的數學符號描述這個模型,正則表達式的概念進入了人們的視線。

又來了一個搞事的人~某個家伙上學學完正常的課程之后(這事在中國貌似發生不了),開始搗鼓計算機操作系統,并且搞出了現在在軟件行業非常出名的系統:Unix,它就是Unix之父Ken Thompson,這個家伙也看到了那個數學家發布的論文,于是將正則表達式經過優化處理之后,引入到了Unix操作系統中專門用于文本的高效檢索。

一發不可收拾,正則表達式,開始陸陸續續在各個編程語言中出現,并以它優雅的表現形式和高效的工作態度,而著名于各個語言和行業方向。

正則表達式,是一種特殊的符號,這樣的符號是需要解釋才能使用的,也就是需要正則表達式引擎來進行解釋,目前正則表達式的引擎主要分三種:DFA,NFA、POSIX NFA,有興趣了正則表達式引擎的童鞋,可以自己查看資料

2. 正則表達式語法結構

接下來,我們開始了解這樣一個神秘的可以類似人類神經網絡一樣思考問題的技術的語法結構。
注意:我們通過python程序進行測試,但是正則表達式的語法結構在各種語言環境中都是通用的。

2.1. 入門案例:了解正則表達式

我們通過一個簡單的案例入手:通常情況下,我們會驗證用戶輸入的手機號碼是否合法,是否156/186/188開頭的手機號碼,如果按照常規驗證手段,就需要對字符串進行拆分處理,然后逐步匹配

重要提示:python中提供了re模塊,包含了正則表達式的所有功能,專門用于進行正則表達式的處理;

我們首先看一下,常規的手機號碼驗證過程

userphone = input("請輸入手機號碼:")

# 驗證用戶手機號碼是否合法的函數
def validatePhone(phone):
    msg = "提示信息:請輸入手機號碼"
    # 判斷輸入的字符的長度是否合法
    if len(phone) == 11:
        # 判斷是否156/186/188開頭
        if phone.startswith("156") or phone.startswith("186") or phone.startswith("188"):
            # 判斷每一個字符都是數字
            for num in phone:
                # isdigit()函數用于判斷調用者是否數字
                if not num.isdigit():
                    msg = "不能包含非法字符"
                    return msg
            msg = "手機號碼合法"
        else:
            msg = "開頭數字不合法"
    else:
        msg = "長度不合法"
    return msg

# 開始測試
print(validatePhone(userphone))

執行上面的代碼,分別輸入不同的手機號碼,結果如下

請輸入手機號碼:188
長度不合法

請輸入手機號碼:15568686868
開頭數字不合法

請輸入手機號碼:1566868686a
不能包含非法字符

請輸入手機號碼:15688888888
手機號碼合法

我們再次使用正則表達式來改造這段程序
注意:如果下面的程序中出現了一些語法不是很明白,沒關系,后面會詳細講解

import re

# 接收用戶輸入
userphone = input("請輸入手機號碼")

# 定義驗證手機號碼的函數
def validatePhone(phone):
    # 定義正則表達式,Python中的正則表達式還是一個字符串,是以r開頭的字符串
    regexp = r"^(156|186|188)\d{8}$"
    # 開始驗證
    if re.match(regexp, phone):
        return "手機號碼合法"
    else:
        return "手機號碼只能156/186/188開頭,并且每一個字符都是數字,請檢查"

# 開始驗證
print(validatePhone(userphone))

執行上面的代碼,我們得到正常驗證的結果,大家可以自己試一試。
我們從這兩套代碼中,可以看出來,使用了正則表達式之后的程序變得非常簡潔了,那保持好你的沖動和熱情,讓正則表達式來搞事吧

2.3. python中的正則表達式模塊re

python提供的正則表達式處理模塊re,提供了各種正則表達式的處理函數

2.3.1 字符串查詢匹配的函數:

函數 描述
re.match(reg, info) 用于在開始位置匹配目標字符串info中符合正則表達式reg的字符,匹配成功會返回一個match對象,匹配不成功返回None
re.search(reg, info) 掃描整個字符串info,使用正則表達式reg進行匹配,匹配成功返回匹配的第一個match對象,匹配不成功返回None
re.findall(reg, info) 掃描整個字符串info,將符合正則表達式reg的字符全部提取出來存放在列表中返回
re.fullmatch(reg, info) 掃描整個字符串,如果整個字符串都包含在正則表達式表示的范圍中,返回整個字符串,否則返回None
re.finditer(reg, info) 掃描整個字符串,將匹配到的字符保存在一個可以遍歷的列表中

參考官方re.py源代碼如下:

def match(pattern, string, flags=0):
    """Try to apply the pattern at the start of the string, returning
    a match object, or None if no match was found."""
    return _compile(pattern, flags).match(string)

def fullmatch(pattern, string, flags=0):
    """Try to apply the pattern to all of the string, returning
    a match object, or None if no match was found."""
    return _compile(pattern, flags).fullmatch(string)

def search(pattern, string, flags=0):
    """Scan through string looking for a match to the pattern, returning
    a match object, or None if no match was found."""
    return _compile(pattern, flags).search(string)

def findall(pattern, string, flags=0):
    """Return a list of all non-overlapping matches in the string.

    If one or more capturing groups are present in the pattern, return
    a list of groups; this will be a list of tuples if the pattern
    has more than one group.

    Empty matches are included in the result."""
    return _compile(pattern, flags).findall(string)

def finditer(pattern, string, flags=0):
    """Return an iterator over all non-overlapping matches in the
    string.  For each match, the iterator returns a match object.

    Empty matches are included in the result."""
    return _compile(pattern, flags).finditer(string)

2.3.2 字符串拆分替換的函數:

函數 描述
re.split(reg, string) 使用指定的正則表達式reg匹配的字符,將字符串string拆分成一個字符串列表,如:re.split(r"\s+", info),表示使用一個或者多個空白字符對字符串info進行拆分,并返回一個拆分后的字符串列表
re.sub(reg, repl, string) 使用指定的字符串repl替換目標字符串string匹配正則表達式reg的字符

參考官方源代碼如下:

def split(pattern, string, maxsplit=0, flags=0):
    """Split the source string by the occurrences of the pattern,
    returning a list containing the resulting substrings.  If
    capturing parentheses are used in pattern, then the text of all
    groups in the pattern are also returned as part of the resulting
    list.  If maxsplit is nonzero, at most maxsplit splits occur,
    and the remainder of the string is returned as the final element
    of the list."""
    return _compile(pattern, flags).split(string, maxsplit)

def sub(pattern, repl, string, count=0, flags=0):
    """Return the string obtained by replacing the leftmost
    non-overlapping occurrences of the pattern in string by the
    replacement repl.  repl can be either a string or a callable;
    if a string, backslash escapes in it are processed.  If it is
    a callable, it's passed the match object and must return
    a replacement string to be used."""
    return _compile(pattern, flags).sub(repl, string, count)

接下來,我們進入正則表達式干貨部分

2.4. 正則表達式中的元字符

在使用正則表達式的過程中,一些包含特殊含義的字符,用于表示字符串中一些特殊的位置,非常重要,我們先簡單了解一下一些常用的元字符

元字符 描述
^ 表示匹配字符串的開頭位置的字符
$ 表示匹配字符串的結束位置的字符
. 表示匹配任意一個字符
\d 匹配一個數字字符
\D 匹配一個非數字字符
\s 匹配一個空白字符
\S 匹配一個非空白字符
\w 匹配一個數字/字母/下劃線中任意一個字符
\W 匹配一個非數字字母下劃線的任意一個字符
\b 匹配一個單詞的邊界
\B 匹配不是單詞的開頭或者結束位置

上干貨:代碼案例

# 導入正則表達式模塊
import re

# 定義測試文本字符串,我們后續在這段文本中查詢數據
msg1 = """Python is an easy to learn, powerful programming language.
It has efficient high-level data structures and a simple but effective approach to object-oriented programming.
Python’s elegant syntax and dynamic typing, together with its interpreted nature, 
make it an ideal language for scripting and rapid application development in many areas on most platforms.
"""
msg2 = "hello"
msg3 = "hello%"

# 定義正則表達式,匹配字符串開頭是否為python
regStart = r"efficient"

# 從字符串開始位置匹配,是否包含符合正則表達式的內容,返回匹配到的字符串的Match對象
print(re.match(regStart, msg1))
# 掃描整個字符串,是否包含符合正則表達式的內容,返回匹配到的第一個字符串的Match對象
print(re.search(regStart, msg1))
# 掃描整個字符串,是否包含符合正則表達式的內容,返回匹配到的所有字符串列表
print(re.findall(regStart, msg1))
# 掃描整個字符串,是否包含符合正則表達式的內容,返回匹配到的字符串的迭代對象
for r in re.finditer(regStart, msg1):
    print("->"+ r.group())
# 掃描整個字符串,是否包含在正則表達式匹配的內容中,是則返回整個字符串,否則返回None
print(re.fullmatch(r"\w*", msg2))
print(re.fullmatch(r"\w*", msg3))

上述代碼執行結果如下:

~ None
~

~['efficient']
~->efficient
~

~None

2.5. 正則表達式中的量詞

正則表達式中的量詞,是用于限定數量的特殊字符

量詞 描述
x* 用于匹配符號*前面的字符出現0次或者多次
x+ 用于匹配符號+前面的字符出現1次或者多次
x? 用于匹配符號?前面的字符出現0次或者1次
x{n} 用于匹配符號{n}前面的字符出現n次
x{m,n} 用于匹配符號{m,n}前面的字符出現至少m次,最多n次
x{n, } 用于匹配符號{n, }前面的字符出現至少n次

接上代碼干貨:

# 導入正則表達式模塊
import re

# 定義測試文本字符串,我們后續在這段文本中查詢數據
msg1 = """goodgoodstudy!,dooodooooup"""

# 匹配一段字符串中出現單詞o字符0次或者多次的情況
print(re.findall(r"o*", msg1))
# 匹配一段字符串中出現單詞o字符1次或者多次的情況
print(re.findall(r"o+", msg1))
# 匹配一段字符串中出現單詞o字符0次或者1次的情況
print(re.findall(r"o?", msg1))
# 匹配字符串中連續出現2次字符o的情況
print(re.findall(r"o{2}", msg1))
# 匹配字符串中連續出現2次以上字符o的情況
print(re.findall(r"o{2,}", msg1))
# 匹配字符串中連續出現2次以上3次以內字符o的情況
print(re.findall(r"o{2,3}", msg1))

上述代碼大家可以自行嘗試并分析結果。執行結果如下:

['', 'oo', '', '', 'oo', '', '', '', '', '', '', '', '', '', 'ooo', '', 'oooo', '', '', '']
['oo', 'oo', 'ooo', 'oooo']
['', 'o', 'o', '', '', 'o', 'o', '', '', '', '', '', '', '', '', '', 'o', 'o', 'o', '', 'o', 'o', 'o', 'o', '', '', '']
['oo', 'oo', 'oo', 'oo', 'oo']
['oo', 'oo', 'ooo', 'oooo']
['oo', 'oo', 'ooo', 'ooo']

2.6. 正則表達式中的范圍匹配

在正則表達式中,針對字符的匹配,除了快捷的元字符的匹配,還有另一種使用方括號進行的范圍匹配方式,具體如下:

范圍 描述
[0-9] 用于匹配一個0~9之間的數字,等價于\d
[^0-9] 用于匹配一個非數字字符,等價于\D
[3-6] 用于匹配一個3~6之間的數字
[a-z] 用于匹配一個a~z之間的字母
[A-Z] 用于匹配一個A~Z之間的字母
[a-f] 用于匹配一個a~f之間的字母
[a-zA-Z] 用于匹配一個a~z或者A-Z之間的字母,匹配任意一個字母
[a-zA-Z0-9] 用于匹配一個字母或者數字
[a-zA-Z0-9_] 用于匹配一個字母或者數字或者下劃線,等價于\w
[^a-zA-Z0-9_] 用于匹配一個非字母或者數字或者下劃線,等價于\W

注意:不要使用[0-120]來表示0~120之間的數字,這是錯誤的

整理測試代碼如下:

# 引入正則表達式模塊
import re

msg = "Hello, The count of Today is 800"
# 匹配字符串msg中所有的數字
print(re.findall(r"[0-9]+", msg))
# 匹配字符串msg中所有的小寫字母
print(re.findall(r"[a-z]+", msg))
# 匹配字符串msg中所有的大寫字母
print(re.findall(r"[A-Z]+", msg))
# 匹配字符串msg中所有的字母
print(re.findall(r"[A-Za-z]+", msg))

上述代碼執行結果如下:

['800']
['ello', 'he', 'count', 'of', 'oday', 'is']
['H', 'T', 'T']
['Hello', 'The', 'count', 'of', 'Today', 'is']

2.7. 正則表達式中的分組

正則表達式主要是用于進行字符串檢索匹配操作的利器
在一次完整的匹配過程中,可以將匹配到的結果進行分組,這樣就更加的細化了我們對匹配結果的操作
正則表達式通過圓括號()進行分組,以提取匹配結果的部分結果

常用的兩種分組:

分組 描述
(expression) 使用圓括號直接分組;正則表達式本身匹配的結果就是一個組,可以通過group()或者group(0)獲取;然后正則表達式中包含的圓括號就是按照順序從1開始編號的小組
(?Pexpression) 使用圓括號分組,然后給當前的圓括號表示的小組命名為name,可以通過group(name)進行數據的獲取

廢話少說,上干貨:

# 引入正則表達式模塊
import re

# 用戶輸入座機號碼,如"010-6688465"
phone = input("請輸入座機號碼:")
# 1.進行正則匹配,得到Match對象,對象中就包含了分組信息
res1 = re.search(r"^(\d{3,4})-(\d{4,8})$", phone)
# 查看匹配結果
print(res1)
# 匹配結果為默認的組,可以通過group()或者group(0)獲取
print(res1.group())
# 獲取結果中第一個括號對應的組數據:處理區號
print(res1.group(1))
# 獲取結果中第二個括號對應的組數據:處理號碼
print(res1.group(2))

# 2.進行正則匹配,得到Match對象,對象中就包含了命名分組信息
res2 = re.search(r"^(?P\d{3,4})-(?P\d{4,8})$", phone)
# 查看匹配結果
print(res2)
# 匹配結果為默認的組,可以通過group()或者group(0)獲取
print(res2.group(0))
# 通過名稱獲取指定的分組信息:處理區號
print(res2.group("nstart"))
# 通過名稱獲取指定分組的信息:處理號碼
print(res2.group("nend"))

上述代碼就是從原始字符串中,通過正則表達式匹配得到一個結果,但是使用了分組之后,就可以將結果數據通過分組進行細化處理,執行結果如下:

請輸入座機號碼:021-6565789

<_sre.SRE_Match object; span=(0, 11), match='021-6565789'>
021-6565789
021
6565789

<_sre.SRE_Match object; span=(0, 11), match='021-6565789'>
021-6565789
021
6565789

2.8. 正則表達式中的特殊用法

使用分組的同時,會有一些特殊的使用方式如下:

表達式 描述
(?:expression) 作為正則表達式的一部分,但是匹配結果丟棄
(?=expression) 匹配expression表達式前面的字符,如 "How are you doing" ,正則"(?.+(?=ing))" 這里取ing前所有的字符,并定義了一個捕獲分組名字為 "txt" 而"txt"這個組里的值為"How are you do"
(?<=expression) 匹配expression表達式后面的字符,如 "How are you doing" 正則"(?(?<=How).+)" 這里取"How"之后所有的字符,并定義了一個捕獲分組名字為 "txt" 而"txt"這個組里的值為" are you doing";
(?!expression) 匹配字符串后面不是expression表達式字符,如 "123abc" 正則 "\d{3}(?!\d)"匹配3位數字后非數字的結果
(? 匹配字符串前面不是expression表達式字符,如 "abc123 " 正則 "(?

2.9 正則表達式的貪婪模式和懶惰模式

在某些情況下,我們匹配的字符串出現一些特殊的規律時,就會出現匹配結果不盡如人意的意外情況
如:在下面的字符串中,將div標簽中的所有內容獲取出來

<div>內容1div><p>這本來是不需要的內容p><div>內容2div>

此時,我們想到的是,使用

作為關鍵信息進行正則表達式的定義,如下

 

regexp = r"
.*
"

本意是使用上述代碼來完成div開始標簽和結束標簽之間的內容匹配,但是,匹配的結果如下

<div> [內容1div><p>這本來是不需要的內容p><div>內容2] div>

我們可以看到,上面匹配的結果,是將字符串開頭的

標簽和字符串結束的
當成了匹配元素,對包含在中間的內容直接進行了匹配,也就得到了我們期望之外的結果:

 

內容1div><p>這本來是不需要的內容p><div>內容2

上述就是我們要說的正則表達式的第一種模式:貪婪模式
貪婪模式:正則表達式匹配的一種模式,速度快,但是匹配的內容會從字符串兩頭向中間搜索匹配(比較貪婪~),一旦匹配選中,就不繼續向字符串中間搜索了,過程如下:

開始:<div>內容1div><p>這本來是不需要的內容p><div>內容2div>

第一次匹配:【<div>內容1div><p>這本來是不需要的內容p><div>內容2div>】

第二次匹配<div>【內容1div><p>這本來是不需要的內容p><div>內容2】div>

匹配到正則中需要的結果,不再繼續匹配,直接返回匹配結果如下:
內容1div><p>這本來是不需要的內容p><div>內容2

明顯貪婪模式某些情況下,不是我們想要的,所以出現了另一種模式:懶惰模式
懶惰模式:正則表達式匹配的另一種模式,會首先搜索匹配正則表達式開始位置的字符,然后逐步向字符串的結束位置查找,一旦找到匹配的就返回,然后接著查找

regexp = r"
.*?
"
開始:<div>內容1div><p>這本來是不需要的內容p><div>內容2div>

第一次匹配:【<div>】內容1div><p>這本來是不需要的內容p><div>內容2div>

第二次匹配【<div>內容1div>】<p>這本來是不需要的內容p><div>內容2div>

匹配到正則中需要的結果:內容1

繼續向后查找

第三次匹配<div>內容1div>【<p>這本來是不需要的內容p>】<div>內容2div>

第四次匹配<div>內容1div><p>這本來是不需要的內容p>【<div>內容2div>】

匹配到正則中需要的結果:內容2

查找字符串結束!

正則表達式匹配的兩種模式:貪婪模式、懶惰模式
貪婪模式:從目標字符串的兩頭開始搜索,一次盡可能多的匹配符合條件的字符串,但是有可能會匹配到不需要的內容,正則表達式中的元字符、量詞、范圍等都模式是貪婪匹配模式,使用的時候一定要注意分析結果,如:

.*
就是一個貪婪模式,用于匹配
之間所有的字符
懶惰模式:從目標字符串按照順序從頭到位進行檢索匹配,盡可能的檢索到最小范圍的匹配結果,語法結構是在貪婪模式的表達式后面加上一個符號?即可,如
.*?
就是一個懶惰模式的正則,用于僅僅匹配最小范圍的
之間的內容

 

不論貪婪模式還是懶惰模式,都有適合自己使用的地方,大家一定要根據實際需求進行解決方案的確定

>>>更多VR/AR入門教程:VR入門


主站蜘蛛池模板: 性色网站| 天堂网ww| 亚洲欧美动漫 | 一级看片 | 久久久久九九 | 国产精品久久久久久网站 | 免费观看国产黄色片 | 久久免费视频5 | xnxx国产精品hd | 国产精品偷伦费观看一次 | 91精品国产综合久久久久久久久久 | 国产欧美三级 | 毛片av在线 | 毛片专区 | 日韩有码第一页 | 国产精品白浆一区二小说 | 51久久国产露脸精品国产 | 十八禁真人啪啪免费网站 | 国内精品国产三级国产在线专 | 人妻少妇偷人精品视频 | 免费国产一区二区 | 北京富婆泄欲对白 | av在线免费网站 | 又爽又高潮视频a区免费看 又爽又黄axxx片免费观看 | 粉嫩久久99精品久久久久久夜 | 同性恋一级片 | 93看片淫黄大片一级 | 国产精品久久久久久妇女 | 美国av导航 | 能免费看黄色的网站 | 国产激情网站 | 欧美性猛交xxxx乱大交极品 | 国产黄色在线观看 | 黄瓜污视频 | 久久香蕉精品 | 韩日av在线 | 亚洲精品久久区二区三区蜜桃臀 | 欧美一区二区视频三区 | 97av视频在线观看 | 在线观看免费视频一区 | 日韩av在线第一页 | 日本猛少妇色xxxxx猛叫 | 伊人久久大香线蕉综合影院首页 | 日美女网站| 欧美精品色呦呦 | 日本99热| 欧美日韩精品国产 | 欧美91精品久久久久国产性生爱 | 成人精品区| 亚洲啪啪综合av一区 | 黄色网址在线免费看 | 91av蜜桃 | 国产欧美日韩中文久久 | 992tv在线影院 | 日本三级韩国三级三级a级按摩 | 亚洲影院丰满少妇中文字幕无码 | 免费黄色片网站 | 久久精品成人一区二区三区蜜臀 | 亚洲欧美网站 | 日韩视频在线观看免费 | 99国产精| 青青草原亚洲 | 日本精品视频在线观看 | a毛片| 国产成人无码精品久久久性色 | 亚洲欧洲美洲精品一区二区三区 | 四色成人 | 性啪啪chinese东北老女人 | 日韩伦理一区二区三区 | 亚洲综合图色40p | 中文字幕一区二区三区乱码 | 老女人丨91丨九色 | 黑人巨大精品欧美一区二区免费 | 一级做性色a爱片久久毛片欧 | 日本囗交做爰视频 | 在线观看一区二区三区视频 | 三级特黄| 91丝袜国产在线播放 | 天天爽夜夜爽精品视频婷婷 | 久久深夜视频 | 亚洲综合二区 | 亚欧美无遮挡hd高清在线视频 | 亚洲涩涩| 久久影院国产 | 久久水蜜桃| 狠狠躁夜夜躁人人爽天天 | 变态美女紧缚一区二区三区 | 啪啪免费网址 | 日本亚洲视频 | 野花香社区在线视频观看播放 | 五十路亲子中出在线观看 | 中文字幕永久视频 | 成人爱爱网站 | 韩国美女视频黄是免费 | 91精品打屁股sm调教 | 色射色| 免费av观看网址 | 成人乱码一区二区三区av | 人妻少妇偷人精品无码 | 性欧美videos另类hd | 亚洲爽爆 | 特级做a爰片毛片免费69 | 亚洲精品乱码久久久久久动图 | 日日橹狠狠爱欧美视频 | 欧美激情综合在线 | 天天操操操 | 欧美成人高潮一二区在线看 | 日韩 欧美 亚洲 精品 少妇 | 亚洲国产精品激情综合图片 | 亚洲九九色 | 久久精品国产精品亚洲艾草网 | 欧美日韩一区二区三区在线播放 | 肉肉视频在线观看 | www.久草.com| 亲子伦视频一区二区三区 | 国偷自产av一区二区三区 | 国产内射合集颜射 | 亚洲国产综合久久久 | 亚洲性激情 | 五月天天色 | 久久国产欧美日韩精品 | 国产奶水涨喷在线播放 | 日日天日日夜日日摸天天 | 欧美成人精精品一区二区频 | 秋霞影院午夜丰满少妇在线视频 | 国产无遮挡又黄又爽免费网站 | 聚色av| 蜜桃视频在线观看www | 91免费网 | 国产天堂123在线观看 | 国产乱人伦 | 国产在线一区二区三区四区五区 | 素人av在线 | 999热视频| 中国凸偷窥xxxx自由视频妇科 | 四虎影库永久在线 | 国产最新精品 | 51成人做爰www免费看网站 | 人成午夜免费视频在线观看 | 天天看天天爽 | 美女啪啪国产 | 欧美一二三 | 国产69精品久久久久久久 | 韩国一级黄色毛片 | 国内毛片毛片毛片毛片 | 高辣h文乱乳h文男男双性视频 | 欧美一级xxx | 成人乱码一区二区三区av | 成人网在线视频 | 香蕉免费一区二区三区 | 国产精品伦一区二区三级视频永妇 | 国产真实露脸乱子伦原著 | 日本特黄特色a大片免费高清观看视频 | 在线观看黄色网页 | 免费色站 | 精品视频一二三 | 永久免费观看国产裸体美女 | 国产福利精品一区二区 | 中文字幕日产无线码一区 | 欧美成人久久久免费播放 | 精品久久久久久久国产性色av | 国产精品国产三级国产普通话三级 | 国产午夜小视频 | 伊人中文字幕在线观看 | 在线播放成人 | 亚州男人的天堂 | 日韩 欧美 中文字幕 制服 | 亚洲福利影院 | 91在线超碰 | 国产免费破外女真实出血视频 | 377p日本欧洲亚洲大胆张筱雨 | 7777久久亚洲中文字幕 | 亚洲va中文在线播放免费 | 青青国产精品 | 91成人亚洲 | 一区二区网 | 国产伦精品一区二区三区照片91 | 韩国三级中文字幕hd久久精品 | 国产91页| 日本国产一区 | 亚洲成人av免费在线观看 | 欧美一级片播放 | 精品国产一区二区三区四区四 | 中文字幕第1页第69 中文字幕第22页 | 成人性生交大片免费看vrv66 | 亚洲精品国产crm | 亚洲精品国偷拍自产在线观看蜜臀 | 99综合 | a免费在线 | 秋葵视频成人 | 国产精品无码免费播放 | 黄色爱爱视频 | 夜夜夜夜bbbbbb欧美 | 精品国产福利一区二区 | 欧美情侣性视频 | 国产呻吟久久久久久久92 | 99久久夜色精品国产亚洲 | 免费日韩中文字幕 | 欧美福利视频 | 九九福利| av无码人妻一区二区三区牛牛 | 午夜激情毛片 | 婷婷色九月 | 国产精品30p | 国产在线 | 中文 | 国产99久60在线视频 | 传媒 | 久久一区二区三区四区 | 国产最爽的乱淫视频国语对白 | 久久久久成人网 | 一区二区三区久久久 | 丁香花开心四播房麻豆 | 国产午夜免费视频 | 大学生女人三级在线播放 | 国产在线精品拍揄自揄免费 | jizz性欧美15 | 国产精品爽爽久久久久久蜜臀 | 亚洲伦理久久 | 日韩国产在线观看 | 免费精品久久久久久久一区二区 | 久久99精品久久久久久按摩秒播 | 丰满蕾丝乳罩少妇呻视频 | 青春草在线视频观看 | 免费观看理伦片在线播放 | 中文字幕精品av乱喷 | 免费一级片网站 | 日本一区二区高清不卡 | 男女又爽又黄 | 蜜桃视频欧美 | 久热国产精品视频一区二区三区 | 丰满少妇理论片在线观看 | 国产成人一区二区三区 | 欧美一区二区在线观看视频 | 美女超碰| 91嫩草视频在线观看 | 欧美做爰xxxⅹ性欧美大片 | 岳帮我囗交吞精69 | 黑人干亚洲人 | 精品一区二区三区波多野结衣 | 99国内精品 | 女人与牲口性恔配视频免费 | 男女毛片视频 | 再深点灬舒服灬太大了网站 | zljzljzlj日本人免费 | 日韩在线视 | 亚洲国产精品久久久久秋霞蜜臀 | 一级毛片黄 | 少妇视频网 | 欧美性受视频 | 中国女人内谢69xxxx免费视频 | 亚洲精品乱码久久久久久蜜桃 | 日韩欧美一区二区三区久久婷婷 | 天天狠天天透天干天天怕∴ | 亚洲乱码日产精品bd在线观看 | 久久久久久久久99精品大 | 激情 亚洲| 国产在线激情视频 | 亚洲精品欧美日韩 | 欧美亚洲另类小说 | 国产又色又爽又刺激在线播放 | 神马午夜精品 | 欧美性猛交xxxxx按摩欧美 | 亚洲 欧美 日韩 在线 | hd最新国产人妖ts视频仙踪林 | 国产传媒在线视频 | 久久成人小视频 | 丰满少妇一区二区三区 | 亚洲熟妇色xxxxx亚洲 | 国产成人精品无码片区在线观看 | 欧美日韩精品一二三区 | 大学生一级片 | 69式视频 | 久久不射视频 | 中文字幕一区二区三区精品 | 中文字幕 日韩 欧美 | 男女曰逼视频 | 国产视频久久久 | 免费观看交性大片 | 国产免费一区二区三区免费视频 | 日韩欧美日韩 | 少妇日韩| 成人欧美一区二区三区白人 | 国产精品视频色拍拍 | 黄 色 软件 成 人在线 | 国产精品网友自拍 | 韩日视频 | 午夜激情视频网站 | 国产性猛交xx乱 | 啪啪精品 | 日本大奶视频 | 人人澡人人妻人人爽人人蜜桃 | 久久久久人妻精品一区三寸蜜桃 | 欧美性大战久久久久xxx | 国产极品探花一区二区三区 | a级片久久久 | 九九视频在线观看视频6 | 久久精品国产导航 | 亚洲国产精品一区二区www | 91亚洲福利视频 | 欧美精品亚洲精品日韩传电影 | 狠狠婷婷综合久久久久久 | 91丨porny丨最新 | 国产精品自产拍在线观看55亚洲 | 国产永久在线 | 日韩乱视频 | 国产欧美日韩精品a在线观看 | av在线不卡免费观看 | 特级黄色毛片 | 嫩草影院黄 | 国产精品一二三区成毛片视频 | 国产理伦| 国产传媒专区 | 男人吃奶视频 | 日韩视频在线观看 | 日本做床爱全过程激烈视频 | 色偷偷av老熟女 | 99蜜桃在线观看免费视频网站 | 高hnp视频 | 放荡的美妇在线播放 | 免费看一级黄色毛片 | 人人干人人噪人人摸 | 东北少妇不戴套对白第一次 | 亚洲区日韩精品中文字幕 | 欧美波霸videosex极品 | 美女视频黄的全免费视频网站 | 久久久成人免费视频 | 夜夜躁恨恨躁爱躁 | 夜夜嗨av一区二区三区四区 | 国产精品精品久久久 | 国产卡一卡二卡三 | 婷婷久久精品 | 卡一卡二在线视频 | 久久久久久黄 | 亚洲三区在线观看无套内射 | 在线永久免费观看黄网站 | 美国成人在线 | 欧美成人精品一区二区 | 观看av在线| 色久av | 国产精品久久久久久久新郎 | 免看一级a毛片一片成人不卡 | 136fldh导航福利微拍 | 久久精品h | 中文字幕黄色片 | 欧美大片在线看 | 老司机午夜免费福利 | √天堂资源地址在线官网 | 一区二区xxx | 一本大道久久a久久精品综合1 | 人人妻人人澡人人爽欧美精品 | 久久久久久久久久久丰满 | 三级三级三级a级全黄公司的 | 中文字幕人乱码中文 | 最新天堂在线视频 | 成人羞羞视频播放网站 | 在线黄视频 | 女人久久久 | 岛国av免费在线观看 | 伊人网av在线 | 男女草逼网站 | 综合五月激情二区视频 | 成人动漫在线观看 | 国产精品一区二区在线播放 | 欧洲色区 | 久久久国产精品免费 | 狼人大香伊蕉国产www亚洲 | 久久99青青精品免费观看 | 精品国产国产综合精品 | 午夜尤物丰满大乳美女 | 性xxxx欧美 | 人妻在厨房被色诱 中文字幕 | 97久久精品人人澡人人爽古装 | 狠狠躁夜夜躁人人爽蜜桃 | 黄色录像a级片 | 日本特黄特色aaa大片免费 | 久久中文字幕伊人小说小说 | 中文字幕av影片 | 成人免费视频视频在线观看 免费 | 色婷婷av777 色婷婷av99xx | 征服少妇柔佳系列 | 成人免费看 | 国产伦理无套进入 | ass大乳尤物肉体pics | 97久久精品人人做人人爽50路 | 欧美午夜视频在线观看 | 欧美成人免费观看全部 | 精品人伦一区二区色婷婷 | 精品久久久久久久 | 99久久精品久久久久久动态片 | 国产精品久久久久久久久 | 日本一区二区黄色 | 桥本有菜aⅴ一区二区三区 桥本有菜免费av一区二区三区 | 最新中文字幕久久 | 午夜精品一区二区三区免费 | 久久国产毛片 | 自拍偷自拍亚洲精品播放 | www.国产高清 | 日本免费一区二区三区四区五六区 | 精品无人乱码一区二区三区的特点 | 成人免费视频国产免费网站 | 久久综合伊人77777麻豆最新章节 | 免费看毛片基地 | 性折磨bdsm德国激情 | 国产乱国产乱 | 麻豆视频官网 | 懂色av一区 | 国产裸体舞一区二区三区 | 四虎影视免费在线观看 | 亚洲综合精品第一页 | 91久久中文字幕 | 男女啪动最猛动态图 | 亚洲自拍激情 | 亚洲乱码日产精品bd在线观看 | 精品国产福利一区二区 | 88国产精品久久现线拍久青草 | 黄色毛片儿 | 亚洲精品久久久久中文字幕二区 | 国产精品免费看久久久 | 一本色道久久99一综合 | 午夜精品免费 | 国产网友自拍视频 | 东南亚末成年videos | 国产日产欧洲无码视频 | 操少妇视频 | 和寡妇做爰过程a一片 | 国产成人精品优优av | 亚洲va中文字幕 | 久久久久久久久嫩草精品乱码 | 亚洲综合图区 | 真多人做人爱视频高清免费 | 偷拍富婆做爰太猛视频 | www.蜜臀av.com| 奴性白洁会所调教 | 国产精品成人国产乱一区 | 精品无码av无码免费专区 | av免费不卡 | 性中国妓女毛茸茸视频 | 久久三级 | 日韩一区二区三区不卡 | 亚洲一区 日韩精品 中文字幕 | 亚洲中文字幕无码永久在线 | 少妇99| 99噜噜噜在线播放 | 国产福利片在线 | 无码中文字幕在线播放2 | 久久久久久国产精品免费免费男同 | 大江大河第三部50集在线观看旭豪 | 日本三级欧美三级人妇视频黑白配 | 可以免费看的黄色网址 | 欧美成人免费全部 | 久久久999精品视频 久久久99久久久国产自输拍 | 日日日干干干 | 99久久精品免费看国产小宝寻花 | 亚洲v欧美v国产v在线观看 | 野花社区视频www官网 | 加勒比在线一区 | 伊人久久爱 | 国产一区二区午夜 | 欧美视频在线观看一区二区 | 国产九九在线视频 | 美女视频久久久 | 国产天码视频网站 | 亚洲综合无码精品一区二区三区 | 少妇富婆一区二区三区夜夜 | 精品乱码一区内射人妻无码 | 欧美成免费 | 国产成人精品999在线观看 | 91久久国产综合久久91 | 久久婷婷五月综合色丁香 | 亚洲狠狠婷婷综合久久久久图片 | 亚洲成a人v欧美综合天堂 | 白嫩丰满少妇xxxxx性张津瑜 | 少妇激情一区二区三区 | 日韩日日日 | 2019日韩中文字幕 | 丨国产丨调教丨91丨 | 亚洲专区一区 | 男女性高爱潮免费网站 | 不卡的av网站 | 亚洲第一精品在线观看 | 日韩中文字幕精品视频 | 国精品无码一区二区三区在线 | a天堂在线视频 | 国产精品96久久久久久 | 亚洲精品在线视频免费观看 | 日本精品视频网站 | 午夜熟女毛片蜜桃传媒 | 亚洲一卡久久 | 手机在线看片 | 国产精品精华液网站 | 国产精品久久久久无码av | 依依成人综合网 | 久久777国产线看观看精品 | 欧美 丝袜 自拍 制服 另类 | 国产一区二区在线影院 | 国内精品写真在线观看 | 欧美乱大交xxxxx潮喷 | 日本精品视频网站 | 巨胸喷奶水www久久久免费动漫 | av三级在线观看 | 奇米777四色影视在线看 | 91久久在线 | 日本女人一级片 | xxxxwww69| 国产黄色片免费看 | 欧美成a | 国产精品第一国产精品 | 婷婷激情偷拍在线 | 蜜桃网站入口在线进入 | av福利在线 | 国产欧美一区二区在线观看 | 久久精品人人做人人爽电影蜜月 | 中文一区在线观看 | 中文字幕乱码亚洲无线三区 | 久久乐国产精品 | 成人在线播放av | 亚洲一线二线三线写真 | 少妇中文字幕 | 亚洲国产精品久久人人爱 | 干一干操一操 | 免费无码作爱视频 | 日韩精品中文字幕一区 | 精品国产欧美一区二区 | 韩国三级视频 | 久久婷色 | 成人国产片女人爽到高潮 | 色呦呦网站在线观看 | 亚洲性久久久 | 久久国产精品99久久久久 | 日韩欧美色 | 在线观看亚洲成人 | 国产精品色婷婷 | 在线成人一区二区 | 丝袜人妻一区二区三区 | 大香伊蕉在人线国产av | 国产精品成人影院在线观看 | 成人黄色小说在线观看 | 香蕉狠狠爱视频 | 午夜美女国产毛片福利视频 | 老人与老人免费a级毛片 | 91精品在线国产 | 女子浴室啪啪hd三级 | 日本啪啪网 | 在线你懂的视频 | 美女视频黄频a免费 | 免费一级片网址 | 一级高清免费毛片 | 天堂免费在线视频 | 久久综合88熟人妻 | 一本色综合亚洲精品88 | 亚洲国产日韩精品 | 欧美精品99久久久 | 日韩av综合在线 | 日韩久久不卡 | 日本一二三区视频在线 | 亚洲一区二区三区日本 | 麻豆网站在线观看 | 国产一线在线 | 91深夜视频 | www.日韩欧美| 99久久人妻无码精品系列 | 中文字幕亚洲一区二区va在线 | 亚洲成av人片在线观看 | 91在线视频免费看 | 老司机午夜福利av无码特黄a | 国产精品视频免费在线观看 | 日韩第三页 | 欧美日韩在线成人 | 鲜嫩高中生无套进入 | 少妇公车张开腿迎合巨大视频 | 久久久久久中文字幕 | 国产性猛交xx乱老孕妇 | 三浦步美一区二区三区 | 国产成人鲁鲁免费视频a | 国产精品国产三级国产aⅴ中文 | 一本大道久久a久久精二百 一本大道久久a久久精品综合1 | 国产l精品国产亚洲区久久 亚洲欧洲精品成人久久曰影片 | 在线免费观看视频黄 | 免费高清黄色 | 在线一区二区三区做爰视频网站 | 日韩精品视频在线观看一区二区 | 屁屁国产草草影院ccyycom | 国产黑色丝袜在线视频 | 美女丝袜av | 亚洲性色av| 免费看污视频的网站 | 媚药一区二区三区四区 | 欧美一区二区三区在线观看 | 人妻丰满熟妇岳av无码区hd | 特级淫片裸体免费看视频 | www.香蕉网| 久久99国产精品久久99 | 国产乱码一区二区三区咪爱 | 黄色片特级 | 日韩专区一区 | 欧美亚洲国产精品久久蜜芽直播 | 人人妻人人澡人人爽人人精品97 | 香蕉成人伊视频在线观看 | 欧美精品久久天天躁 | 国产污视频在线 | 欧美a级在线免费观看 | 亚洲熟妇色xxxxx欧美老妇 | 日本阿v免费观看视频 | 国产成人精品午夜福利 | 91精品国产闺蜜国产在线闺蜜 | 永久免费看片 | 国产88av | 999精品视频在线 | 极品少妇脚交xxxxh | 国产精品免费视频一区二区三区 | 二区影院| 中文字幕+乱码+中文乱 | 毛片无码免费无码播放 | 国产精品视频导航 | 99精品国产综合久久久久五月天 | 精品国偷自产在线视频 |