欧美性色黄大片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入門


主站蜘蛛池模板: 免费午夜视频 | 免费三级av | 华人少妇被黑人粗大的猛烈进 | 你懂得国产 | 鲁大师在线视频播放免费观看 | 在线观看av毛片 | 白嫩少妇各种bbwbbw | 国产超碰人人做人人爽aⅴ 国产超碰人人做人人爽av牛牛 | 2021毛片| 国产成人午夜高潮毛片 | 少妇玉梅高潮久久久 | 久久婷婷丁香五月综合五 | 国产成人手机高清在线观看网站 | 一个人看的毛片 | 97人人插| 久久久久免费看黄a片app | 欧美做受又硬又粗又大视频 | 四虎精品永久在线 | 国产精品久久久久久亚洲影视公司 | 成人小视频在线 | 中文字幕一区二区三区av | 狠狠五月激情六月丁香 | 亚洲国产精品久久久久 | 精品久久久久久中文字幕人妻最新 | 国产午夜福利视频在线观看 | 国产成人久久久精品二区三区 | 久久午夜色播影院 | 国产对白叫床清晰在线播放 | 动漫美女爆羞羞动漫在线蜜桃 | 中文字幕无码精品亚洲资源网久久 | 成人h猎奇视频网站 | 久久99精品久久久久久水蜜桃 | 最新在线黄色网址 | 欧美亚洲一区 | 国产侵犯亲女在线 | 邻居少妇张开双腿让我爽一夜图片 | 久久五 | 欧美一级淫片 | 50一60岁老妇女毛片 | 老妇女性较大毛片 | 中文一二区 | 内射极品少妇xxxxxhd | 躁躁日日躁| 大尺度h1v1高h引诱 | 婷婷影院在线观看 | 中文字字幕在线中文乱码 | 亚洲国产精品女人久久久 | 亚洲精品欧美二区三区中文字幕 | 亚洲免费福利视频 | 日韩欧美福利 | 视频一区二区欧美 | 欧美性生交大片免费视频 | 欧美爱爱视频网站 | 国产jjizz女人多水 | 天天拍天天色 | 极品女神无套呻吟啪啪 | 不用播放器的av网站 | 黄色应用在线观看 | www豆花福利视频 | 一本之道久 | 欧美色一区二区三区在线观看 | 国产精品人人妻人人爽人人牛 | 精品视频久久 | 国产人妖乱国产精品人妖 | 波多野结衣小视频 | 第九色| 男女日批网站 | 无码乱肉视频免费大全合集 | 亚洲乱码国产乱码精品精网站 | 91视频分类 | 日本天天色 | 蜜桃视频一区二区三区四区开放时间 | 女人做爰视频偷拍 | 2020无码专区人妻系列日韩 | 少妇浴室愉情韩国理论 | 天干天干天干夜夜爽av | 免费成人小视频 | 国内丰满熟女出轨videos | 亚洲a∨国产av综合av下载 | 亚洲成人第一网站 | xxx在线播放 | 特级黄毛片 | 国产乱码精品一区二区三区中文 | 三级特黄视频 | 一区二区三区在线免费视频 | 我和公激情中文字幕 | www.国产一区 | 成人性生交a做片 | 99精品视频在线导航 | 大色综合色综合网站 | 91久久国产综合久久91 | 国产精品av在线 | 国产精品 色 | x88av视频| 黄色大片91 | 嫩草亚洲| 亚洲综合欧美在线一区在线播放 | 国产一区二区自拍视频 | 亚洲人成人伊人成综合网无码 | 小嫩草张开腿让我爽了一夜 | 翘臀后进少妇大白嫩屁股视频 | 香蕉国产片一级一级一级一级 | 亚洲综合久久av一区二区三区 | 人与动物黄色片 | 艳情五月 | 成av在线 | 男女做爰猛烈叫床无遮挡 | 国产喷潮| 久久精品免费网站 | 国产欧美视频在线播放 | 777精品视频| 国产剧情av引诱维修工 | 看国产黄色片 | 成人网站免费大全日韩国产 | 亚洲激情视频 | 午夜性刺激在线观看 | 亚洲看| 永久免费的av在线电影网无码 | 亚洲永久av | 男女猛烈xx00免费视频试看 | 一级二级毛片 | 国产精品久久一区 | 国产成人亚洲综合青青 | 9999国产精品欧美久久久久久 | 秋霞一级黄色片 | 亚洲国产精品久久久久 | av夜夜 | 澳门三级 黄色在线看! | 国产成人61精品免费看片 | 亚洲视频免费在线观看 | 夜夜爽夜夜叫夜夜高潮漏水 | 狠狠色噜噜狠狠狠狠2022 | 在线观看黄色免费网站 | 国产精品第 | 日韩精品免费一区二区三区四区 | 闷骚老干部cao个爽 萌白酱国产一区二区 | 国产成人精品123区免费视频 | 91精品国产自产精品男人的天堂 | 噼里啪啦在线高清观看免费 | 国产网站大全 | 成年人黄色大全 | 98国产精品 | 91激情在线视频 | 最爽无遮挡行房视频 | 国产精品99爱免费视频 | 亚洲视频一区二区三区四区 | 国产极品美女高潮无套在线观看 | 国产精品国产三级国产普通话对白 | 日韩中文字幕成人免费视频 | 开心色怡人综合网站 | 蜜臀久久99精品久久久久久宅男 | 国产女人18毛片水真多18精品 | 欧美日本韩国在线 | 国产亚洲精品久久久久久国模美 | xxxxxx日本| 欧美一级射 | 公侵犯一区二区三区四区中文字幕 | 欧美偷拍另类 | 中文字幕在线天堂 | 狠狠色丁香婷婷久久综合五月 | 国产欧美大片 | 日日碰狠狠躁久久躁蜜桃 | 精品av国产一区二区三区 | 日韩欧美人妻一区二区三区 | 色婷婷久久久久swag精品 | 黄视频在线播放 | 91精品国产91久久久久久久久久久久 | 超碰丝袜| 免费a级黄色片 | 免费色站 | 一级做a爱视频 | 九九视频在线 | 夜色福利站www国产在线视频 | 丰满的少妇xxxxx人伦理 | 少妇精xxxxx| 国产精品99久久久久人中文网介绍 | 日韩黄色一区 | 国产欧美日韩另类在线专区 | 欧美中文字幕在线 | 青柠影视在线观看免费高清中文 | 第一页国产 | 五姑娘在线观看高清版 | 久久精品a亚洲国产v高清不卡 | 欧美精品区 | 性欧美videos另类极品小说 | 国产裸体按摩视频 | 91丨porny丨对白 | 久久久久久伦理 | 97人人爽人人 | 国产精品美女久久久久久久久 | 亚洲高清视频在线观看 | 日韩成人极品在线内射3p蜜臀 | 性欧美videos另类艳妇3d | 欧美丰满熟妇bbbbbb百度 | 亚洲日本综合 | 国产精品粉嫩懂色av | 色哟哟在线免费观看 | 亚洲三区在线观看无套内射 | 久久精品国产2020 | 国产青青草视频 | 国产一区二区三区四区五区加勒比 | 看一级黄色 | 国产xxxxxxxxx | 亚洲国产精品久久人人爱 | 国产三级国产精品国产普男人 | 免费国产在线视频 | 999国产在线 | 久久亚洲中文字幕精品一区 | 国内丰满熟女出轨videos | 日韩啊v| 4hu44四虎www在线影院麻豆 | 国产精品影音先锋 | 亚洲一卡二卡在线 | 欧美一区二区黄色 | 狠狠干在线观看 | 永久免费毛片 | 女国产精品视频一区二区三区 | 国产毛片毛片毛片毛片毛片毛片 | 天天插天天干天天射 | 无码熟妇人妻av在线网站 | 色婷婷激情综合 | 免费大片av手机看片高清 | 国产精品你懂得 | 日日噜噜噜夜夜爽爽狠狠 | 手机在线看片日韩 | 亚洲精品久久久久国色天香 | 国产精品久久久久久久久久免费 | 国产精品99久久久久久动医院 | 色婷婷狠狠五月综合天色拍 | 四虎影视免费 | 996久久国产精品线观看 | 国产精品奇米一区二区三区小说 | 99久久一区二区 | 丝袜性爱视频 | 伊人久久大香线蕉综合75 | 一区二区三区日韩视频在线观看 | 日韩欧美亚洲综合久久 | 四川丰满少妇被弄到高潮 | 夜夜操天天干 | 中文字幕日韩视频 | 中文字幕免费在线观看视频 | 日韩亚洲精品视频 | 周妍希大尺度国产一区二区 | 日韩在线视频观看 | 天天玩天天干天天操 | 久久久久麻豆v国产精华液好用吗 | 瑟瑟在线视频 | 欧美三p| 91pom国产| 亚洲第一页中文字幕 | 成人午夜网址 | 色网在线观看 | caoporn国产一区二区 | 日本aⅴ在线 | 国产69久久精品成人看 | 亚洲欧美另类视频 | 久久久久人妻啪啪一区二区 | 另类亚洲激情 | 午夜久久一区 | 在线国产一区二区 | 无码丰满熟妇juliaann与黑人 | 羞羞色院91精品网站 | 久草资源在线视频 | 国产欧美精品一区二区色综合 | 97精品在线 | 欧洲女人性行为视频 | 亚洲国产天堂一区二区三区 | 精产国品一二三产区区别在线观看 | 黄色大片网站在线观看 | 成年人免费在线 | 91精产国品一二三区在线观看 | 久久精品aⅴ无码中文字字幕蜜桃 | 欧美性生活视频免费看 | 人妻尝试又大又粗久久 | 欧美性jizz18性欧美 | 国产情侣一区二区三区 | 怡红院成永久免费人全部视频 | 好色综合 | 国产尤物精品自在拍视频首页 | 国产刺激的三3p交换视频 | 中文字幕精品久久一二三区红杏 | av不卡影院| 激情久| 97在线观看免费视频 | 中文字幕高清免费日韩视频在线 | 国产精品久久久久无码人妻 | 免费视频国产 | 亚洲精品久久久久久久久久久久久久 | 青草视频在线播放 | 精品xxxxx | 四虎永久在线视频 | 噼里啪啦在线看免费观看视频 | 最新av免费 | 欧美日韩tv | 国产98在线传媒麻豆有限公司 | 久久亚洲热 | 玖玖精品国产 | 五月天国产精品 | 黄色免费一级 | 国产在线精品一区二区三区不卡 | 农民人伦一区二区三区 | 一级特黄aa大片 | 一边捏奶头一边高潮视频 | 4hu亚洲人成人无码网www电影首页 | 成人午夜视频免费在线观看 | 人人妻人人澡人人爽精品欧美 | 538在线精品 | 亚洲福利在线观看 | 亚洲国产精品日韩av不卡在线 | 国产情侣激情在线对白 | 久久久久人妻精品一区 | 精品九九久久 | 天海翼激烈高潮到腰振不止 | 国产在线综合网 | 亚洲视频在线观看一区二区 | 婷久久| 美女拉屎视频pooping | 伊人天堂在线 | 亚洲色无码播放 | 亚洲亚洲人成综合网络 | 又色又爽又黄无遮挡的免费视频 | 思热99re视热频这里只精品 | 日日鲁夜夜视频热线播放 | 欧洲午夜精品久久久久久 | 欧美激情网站 | 日韩色图视频 | 麻豆av毛片| 无码天堂va亚洲va在线va | 裸体黄色片 | 四虎影视av| 按摩害羞主妇中文字幕 | 午夜网站在线观看 | 成人国产免费视频 | 天天做天天摸天天爽欧美一区 | 三级免费毛片 | 99久热在线精品 | 亚洲乱码中文字幕综合 | 国产精品久久久久久人妻 | 99视频精品在线 | 中文日韩av | 欧美高清免费 | 91丨porny丨蝌蚪新疆 | 精品无人国产偷自产在线 | 日韩成人自拍 | 日韩视频一区在线 | 亚洲欭美日韩颜射在线二 | 裸露双乳挤奶无遮掩裸体网站 | 国产亚洲精久久久久久无码苍井空 | 狠狠插av | 欧美成人午夜免费视在线看片 | 日本一级特黄aa大片 | 国产成人精品一区二区三区在线观看 | 天天操天天爽天天干 | 亚洲精品婷婷 | 夜夜春亚洲嫩草一区二区 | 国内露脸少妇精品视频 | 日韩在线专区 | 国产亚洲黄色片 | 亚洲精品久久国产高清 | 日本少妇激三级做爰 | 亚洲视频精品 | 一个色综合导航 | 亚洲天堂不卡 | 日韩在线中文字幕视频 | 精品久久久久久无码免费 | 污导航在线观看 | 在线精品视频一区二区 | 丰满熟妇乱又伦在线无码视频 | www日本视频| 亚洲一区二区三区四区五区xx | 99久久精品午夜一区二区小说 | 亚洲国产另类精品 | 五月婷婷综合在线观看 | 狠狠干2019 | 国内少妇毛片视频 | 美国三级日本三级久久99 | 亚洲91影院 | 深夜视频在线 | 免费看成人欧美片爱潮app | 床戏做爰无遮挡摸亲胸小说 | 久色影视| 日日日日日日bbbbbb | 亚洲玉足av久久影视 | 欧美情趣视频 | 99在线免费观看视频 | 国产一区二区三区精品视频 | 亚洲日本人的毛茸茸 | 久久美女免费视频 | 中文字幕精品亚洲无线码二区 | 青草视频在线免费观看 | 91少妇和黑人露脸 | 美女主播精品视频一二三四 | 黄色一级一片 | 91制片国产| 69做爰高潮全过程免 | 日韩欧美视频网站 | 毛片一毛片二毛片三国产片 | 无码熟熟妇丰满人妻啪啪 | 欧美牲交a欧美牲交aⅴ一 | 久久视频免费在线观看 | 中国女人av | 孕妇爱爱视频 | 国产丝袜av| 少妇又色又紧又大爽又刺激 | 熟妇人妻中文字幕无码老熟妇 | 国产精强码久久久久影片at | а天堂中文在线官网在线 | 夫妻性生活黄色大片 | 国产精品美女在线观看 | 秋霞影院一区二区 | 亚洲精品av中文字幕在线在线 | 久久色av| 少妇又紧又色又硬又爽 | 国产无遮挡成人免费视频 | 五月天色丁香 | 后宫妃h狠狠肉 | 天天噜日日噜狠狠噜免费 | 一区二区欧美视频 | 精品国产网 | 久久久三级 | 国产精品成人av在线观看春天 | 黄色片在线播放 | 日本少妇一级 | 夫の目の前侵犯中文字 | 老司机午夜免费福利 | 91黄瓜视频| 亚洲男人精品 | 日本五十路岳乱在线观看 | 色91| av 日韩 人妻 黑人 综合 无码 | 日韩欧美理论 | 日本人又黄又爽又大又色 | 很污很黄的网站 | 91精品国产综合久久小美女 | 国产视频资源在线观看 | 狠狠干在线 | 国产毛片乡下农村妇女bd | 色综合色综合色综合色欲 | 首页 动漫 亚洲 欧美 日韩 | 国产综合色在线视频区 | 色婷婷综合网 | 天天综合视频 | 精品人妻无码一区二区三区性 | 黄色777| 综合久久色 | 成人自拍av| 全亚洲最大的免费影院 | 国产区精品一区二区不卡中文 | 日日噜噜夜夜爽爽 | 亚洲h视频在线观看 | 欧美日韩在线高清 | 伊人久久精品无码二区麻豆 | 91精品国产色综合久久不卡蜜臀 | 久久久精品区 | 日韩美女爱爱 | 国产精品露脸视频 | 国精一二二产品无人区免费应用 | 女人av在线| 精品国产免费一区二区三区香蕉 | 好吊色在线观看 | 成人av观看| asian性开放少妇pics | 蜜臀久久 | 可以在线看的av网站 | 影音先锋男人av鲁色资源网 | 久久成人人人人精品欧 | 国产在线精品一区二区不卡麻豆 | 欧美一级免费在线观看 | 高h1v| 亚洲一区二区三区四区不卡 | 亚州av片| 精品无码国产污污污免费 | 91啦丨九色丨国产人 | 91中文字日产乱幕4区 | 一级片观看 | 深夜视频在线观看免费 | 国产av一区二区三区无码野战 | 女人做爰视频偷拍 | 男人天堂1024 | 亚洲人成未满十八禁网站 | 中文字幕在线观看1 | 好吊色视频988gao在线观看 | 国产精品久久..4399 | 久久久久久久久久久爱 | 国产黄色一区 | 久久久久久久久亚洲 | 国产激情综合五月久久 | 亚洲欧美偷拍另类a∨色屁股 | 国产喷水福利在线视频 | 在线黄色大片 | 国产一区视频在线免费观看 | 亚洲欧美中文日韩在线v日本 | 天天干天天色天天射 | 97国产精品自拍 | 久久久久国色av免费看 | 国产真人做爰毛片视频 | vr成人啪啪影视 | 亚洲午夜精品在线 | 日日躁狠狠躁夜夜躁av中文字幕 | 91精品国产成人观看 | 中文字幕我不卡在线看 | 夫の上司に犯波多野结衣853 | 一本大道色婷婷在线 | 色偷偷亚洲男人的天堂 | 97色在线观看 | 熟女毛毛多熟妇人妻aⅴ在线毛片 | 久久久久久毛片 | 成人毛片100免费观看 | 欧美国产精品 | 99热这里只有精品在线 | 日韩免费观看视频 | 成人网在线视频 | 在线欧美精品一区二区三区 | 黑人中文字幕一区二区三区 | 国产日韩一区二区在线观看 | 高清无码一区二区在线观看吞精 | 色嗨嗨av一区二区三区 | 青青草原综合久久大伊人精品 | 精品国产一区二区三区蜜殿 | 亚洲成人国产精品 | 最近中文字幕在线播放中 | 调教贱奴视频一区二区三区 | 我要色综合天天 | 人人妻人人澡人人爽久久av | 日本α片一区二区 | 欧美人与动性行为视频 | av污在线观看| 国产成人aⅴ | 久久国产色av免费观看 | 国产精品裸体瑜伽视频 | 日本一区二区三区在线视频 | 久久国产精品二国产精品 | 九色丨porny丨肥臀 | 成人羞羞国产免费软件动漫 | gogo人体做爰aaaa | 国产精品激情av久久久青桔 | 涩涩网站在线看 | 操欧美美女 | 99精品国产在热久久婷婷 | 麻豆一区二区三区 | 国产成人精品白浆久久69 | 日韩av无码久久一区二区 | 成人丁香婷婷 | 蜜桃一区二区三区 | 91精品国产色综合久久不卡98 | 日日噜| 精品露脸国产偷人在视频 | 国产一区二区三区免费视频 | 亚洲国产欧美日韩在线精品一区 | 久久午夜色播影院 | 午夜精品久久久久久久99热蜜臀 | 天堂网在线.www天堂在线资源 | 朝鲜大乳女奶水奶水吃奶视频在线 | 四虎884aa成人精品 | 国产精品高潮呻吟av久久动漫 | 日本少妇做爰免费视频软件 | 日韩一区二区免费播放 | 怡红院怡春院a∨免费十部 怡红院最新网址 | 欧美 日韩 国产 成人 在线 91 | 男人扒开添女人下部免费视频 | 久久露脸国语精品国产91 | 1024香蕉视频 | 国产日日日| 日韩欧美手机在线 | lutu成人福利在线观看 | 亚洲呦女专区 | hs在线观看 | 免费中文字幕日韩欧美 | 国产一级做a爰片久久毛片99 | 人人艹人人爽 | 在线播放免费人成毛片乱码 | 人人澡人人爽 | 国产一区二区在线精品 | 小视频免费在线观看 | 中出少妇 | 极品人妻videosss人妻 | 最近中文在线观看 | 91视频免费观看网站 | 快色在线 | 极品少妇xxxx精品少妇偷拍 | 国产乱理伦片在线观看 | 开心色站 | 国产精品4p| 99国产精品久久久 | 国产边摸边吃奶边做爽视频 | 精品国产露脸精彩对白 | 亚洲成a人片777777张柏芝 | 中文字幕免费视频观看 | 九九热在线视频观看这里只有精品 | 成人永久aaa | 亚洲免费综合 | 久久99精品久久久久久久青青日本 | 欧美一区亚洲 | 少妇饥渴xxhd天美xxhd | 欧美aa大片 | 国产人碰人摸人爱免费视频 | 性欧美ⅹxxxx极品少妇小说 | 性国产xxxx乳高跟 | 一区二区三区在线 | 欧洲 | 欧美色aⅴ欧美综合色 | av无码久久久久不卡免费网站 | 手机成人在线视频 | 欧美激情在线狂野欧美精品 | 亚洲视频一区二区在线 | 99av国产精品欲麻豆 | 67194成人 | 强开小嫩苞一区二区三区图片 | 久久精品国产一区二区三区不卡 | 又黄又爽的视频在线观看 | 天天综合天天做 | av人摸人人人澡人人超碰下载 | 黄视频在线 | 在线人成免费视频69国产 | 男男一级淫片免费播放 | 人妻 校园 激情 另类 |