日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

反射,hashlib模块,正则匹配,冒泡,选择,插入排序

發布時間:2023/12/19 编程问答 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 反射,hashlib模块,正则匹配,冒泡,选择,插入排序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一.反射(自省)

首先通過一個例子來看一下本文中可能用到的對象和相關概念。

import sys # 模塊,sys指向這個模塊對象
import inspect
def foo(): pass # 函數,foo指向這個函數對象

class Cat(object): # 類,Cat指向這個類對象
def __init__(self, name='kitty'):
self.name = name
def sayHi(self): # 實例方法,sayHi指向這個方法對象,使用類或實例.sayHi訪問
print(self.name), 'says Hi!' # 訪問名為name的字段,使用實例.name訪問

cat = Cat()#cat 是Cat類的實例對象
print(Cat.sayHi) # 使用類名訪問實例方法時,方法是未綁定的(unbound)
>>> <function Cat.sayHi at 0x101478378>
print(cat.sayHi) # 使用實例訪問實例方法時,方法是綁定的(bound)
>>> <bound method Cat.sayHi of <__main__.Cat object at 0x101178e48>>

?有時候我們會碰到這樣的需求,需要執行對象的某個方法,或是需要對對象的某個字段賦值,而方法名或是字段名在編碼代碼時并不能確定,需要通過參數傳遞字符串的形式輸入。舉個具體的例子:當我們需要實現一個通用的DBM框架時,可能需要對數據對象的字段賦值,但我們無法預知用到這個框架的數據對象都有些什么字段,換言之,我們在寫框架的時候需要通過某種機制訪問未知的屬性。

這個機制被稱為反射(反過來讓對象告訴我們他是什么),或是自省(讓對象自己告訴我們他是什么,好吧我承認括號里是我瞎掰的- -#),用于實現在運行時獲取未知對象的信息。反射是個很嚇唬人的名詞,聽起來高深莫測,在一般的編程語言里反射相對其他概念來說稍顯復雜,一般來說都是作為高級主題來講;但在Python中反射非常簡單,用起來幾乎感覺不到與其他的代碼有區別,使用反射獲取到的函數和方法可以像平常一樣加上括號直接調用,獲取到類后可以直接構造實例;不過獲取到的字段不能直接賦值,因為拿到的其實是另一個指向同一個地方的引用,賦值只能改變當前的這個引用而已。

1. 訪問對象的屬性

以下列出了幾個內建方法,可以用來檢查或是訪問對象的屬性。這些方法可以用于任意對象而不僅僅是例子中的Cat實例對象;Python中一切都是對象。

def foo(): pass # 函數,foo指向這個函數對象class Cat(object): # 類,Cat指向這個類對象def __init__(self, name='kitty'):self.name = namedef sayHi(self): # 實例方法,sayHi指向這個方法對象,使用類或實例.sayHi訪問print(self.name), 'says Hi!' # 訪問名為name的字段,使用實例.name訪問 cat = Cat('kitty')print(cat.name) # 訪問實例屬性 >>>kitty cat.sayHi() # 調用實例方法 >>>kitty print(dir(cat)) # 獲取實例的屬性名,以列表形式返回 >>>['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'name', 'sayHi'] if hasattr(cat, 'name'): # 檢查實例是否有這個屬性setattr(cat, 'name', 'tiger') # same as: a.name = 'tiger' print(getattr(cat, 'name')) # same as: print a.name >>>tiger getattr(cat, 'sayHi')() # same as: cat.sayHi() >>>tiger
  • ?dir([obj]):?

  調用這個方法將返回包含obj大多數屬性名的列表(會有一些特殊的屬性不包含在內)。obj的默認值是當前的模塊對象。?

  • hasattr(obj, attr):?

  這個方法用于檢查obj是否有一個名為attr的值的屬性,返回一個布爾值。?

  • getattr(obj, attr):?

  調用這個方法將返回obj中名為attr值的屬性的值,例如如果attr為'bar',則返回obj.bar。?

  • setattr(obj, attr, val):?

  調用這個方法將給obj的名為attr的值的屬性賦值為val。例如如果attr為'bar',則相當于obj.bar = val。

例子:

自定義模塊commons.py如下

#!/usr/bin/env python # -*- coding:utf-8 -*- # Author: Jason Wangdef login():print('登錄界面')def logout():print('注銷界面')def home():print('home界面')

?在另外一個index腳本中導入commons模塊,具體如下所示

import commonsdef run():inp = input('輸入你要執行的函數名')#inp 字符串類型 eg. inp = 'login'# delattr()# setattr() #利用字符串對模塊進行操作(增加,刪除,修改,查詢)if hasattr(commons,inp):#判斷commons是否存在inp函數,如果存在獲取此函數,否則404func = getattr(commons,inp)#獲取commons下的inp對應的函數func()#執行對應的函數else:print('404')

通過__import__字符串方式導入函數,需要輸入模塊名和此模塊下的函數名

def run():inp = input('account/function')m,f = inp.split('/')obj = __import__(m)#導入包及if hasattr(obj,f):func = getattr(obj,f)func()else:print('404') if __name__ == '__main__':run()

?

?*模塊內置參數補充說明*

  • __doc__: 文檔字符串。如果模塊沒有文檔,這個值是None。
  • *__name__: 始終是定義時的模塊名;即使你使用import .. as 為它取了別名,或是賦值給了另一個變量名。
  • *__dict__: 包含了模塊里可用的屬性名-屬性的字典;也就是可以使用模塊名.屬性名訪問的對象
  • __file__: 包含了該模塊的文件路徑。需要注意的是內建的模塊沒有這個屬性,訪問它會拋出異常!

commons.py

#!/usr/bin/env python # -*- coding:utf-8 -*- # Author: Jason Wang
# commons.py """ document for fanshe """ def login():print('登錄界面')def logout():print('注銷界面')def home():print('home界面')
##運行結果 print(__name__) >>>__main__

index腳本導入commons?

#!/usr/bin/env python # -*- coding:utf-8 -*- # Author: Jason Wang import commons as com print(com.__doc__)#commons的說明文檔
>>>document for fanshe
print(com.__name__)# commons腳本名
>>>commons
print(com.__file__) >>>/Users/JasonWang/PycharmProjects/sd13/day6/commons.py #print(com.__dict__.items())

?二.hashlib模塊  

用于加密相關的操作,3.x里代替了md5模塊和sha模塊,主要提供?SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法

import hashlibm = hashlib.md5() m.update(b"Hello") m.update(b"It's me") print(m.digest()) m.update(b"It's been a long time since last time we ...")print(m.digest()) #2進制格式hash print(len(m.hexdigest())) #16進制格式hash ''' def digest(self, *args, **kwargs): # real signature unknown""" Return the digest value as a string of binary data. """passdef hexdigest(self, *args, **kwargs): # real signature unknown""" Return the digest value as a string of hexadecimal digits. """pass''' import hashlib# ######## md5 ########hash = hashlib.md5() hash.update('admin') print(hash.hexdigest())# ######## sha1 ########hash = hashlib.sha1() hash.update('admin') print(hash.hexdigest())# ######## sha256 ########hash = hashlib.sha256() hash.update('admin') print(hash.hexdigest())# ######## sha384 ########hash = hashlib.sha384() hash.update('admin') print(hash.hexdigest())# ######## sha512 ########hash = hashlib.sha512() hash.update('admin') print(hash.hexdigest())

?還不夠吊?python 還有一個 hmac 模塊,它內部對我們創建 key 和 內容 再進行處理然后再加密

import hmac h = hmac.new('Jason') h.update('hellowo') print h.hexdigest()

?更多關于md5,sha1,sha256等介紹的文章看這里https://www.tbs-certificates.co.uk/FAQ/en/sha256.html?

三.正則表達式

字符串是編程時涉及到的最多的一種數據結構,對字符串進行操作的需求幾乎無處不在。比如判斷一個字符串是否是合法的Email地址,雖然可以編程提取@前后的子串,再分別判斷是否是單詞和域名,但這樣做不但麻煩,而且代碼難以復用。 正則表達式是一種用來匹配字符串的強有力的武器。它的設計思想是用一種描述性的語言來給字符串定義一個規則,凡是符合規則的字符串,我們就認為它“匹配”了,否則,該字符串就是不合法的。 下面這張圖展示了使用正則表達式匹配的流程
1、Python支持的正則表達式元字符和語法
語法說明表達式實例完整匹配的字符串
字符
一般字符匹配自己abcabc
.匹配任意字符“\n”除外
DOTALL模式中(re.DOTALL)也能匹配換行符
a.babc或abc或a1c等
[...]字符集[abc]表示a或b或c,也可以-表示一個范圍如[a-d]表示a或b或c或da[bc]cabc或adc
[^...]非字符集,也就是非[]里的之外的字符a[^bc]cadc或aec等
預定義字符集(也可以系在字符集[...]中)
\d數字:[0-9]a\dca1c等
\D非數字:[^0-9]或[^\d]a\Dcabc等
\s空白字符:[<空格>\t\n\f\v]a\sca b等
\S非空白字符:[^s]a\Scabc等
\w字母數字(單詞字符)[a-zA-Z0-9]a\wcabc或a1c等
\W非字母數字(非單詞字符)[^\w]a\Wca.c或a_c等
數量詞(用在字符或(...)分組之后)
*匹配0個或多個前面的表達式。(注意包括0次)abc*ab或abcc等
+匹配1個或多個前面的表達式。abc+abc或abcc等
?匹配0個或1個前面的表達式。(注意包括0次)abc?ab或abc
{m}匹配m個前面表達式(非貪婪)abc{2}abcc
{m,}匹配至少m個前面表達式(m至無限次)abc{2,}abcc或abccc等
{m,n}匹配m至n個前面的表達式abc{1,2}abc或abcc
邊界匹配(不消耗待匹配字符中的字符)
^匹配字符串開頭,在多行模式中匹配每一行的開頭^abcabc或abcd等
$匹配字符串結尾,在多行模式中匹配每一行的結尾abc$abc或123abc等
\A僅匹配字符串開頭\Aabcabc或abcd等
\Z僅匹配字符串結尾abc\Zabc或123abc等
\b匹配一個單詞邊界,也就是指單詞和空格間的位置。例如, 'er\b' 可以匹配"never" 中的 'er',但不能匹配 "verb" 中的 'er'。??
\B匹配非單詞邊界。'er\B' 能匹配 "verb" 中的 'er',但不能匹配 "never" 中的 'er'。??
邏輯、分組
|或左右表達式任意一個(短路)如果|沒有在()中表示整個正則表達式(注意有括號和沒括號的區別)abc|def
ab(c|d)ef
abc或def
abcef或abdef
(...)分組,可以用來引用,也可以括號內的被當做一組進行數量匹配后接數量詞(abc){2}aabcabca
(?P<name>...)分組別名,給分組起個名字,方便后面調用??
\<number>引用編號為<number>的分組匹配到的字符串(注意是配到的字符串不是分組表達式本身)(\d)abc\11ab1或5ab5等
(?=name)引用別名為name的分組匹配到的字符串(注意是配到的字符串不是分組表達式本身)(?P<id>\d)abc(?P=id)1ab1或5ab5等
????
正則表達式通常用于在文本中查找匹配的字符串。Python里數量詞默認是貪婪的(在少數語言里也可能是默認非貪婪),總是嘗試匹配盡可能多的字符;非貪婪的則相反,總是嘗試匹配盡可能少的字符。例如:正則表達式"ab*"如果用于查找"abbbc",將找到"abbb"。而如果使用非貪婪的數量詞"ab*?",將找到"a"。

一簡介:
就其本質而言,正則表達式(或 RE)是一種小型的、高度專業化的編程語言,
(在Python中)它內嵌在Python中,并通過 re 模塊實現。正則表達式模式被
編譯成一系列的字節碼,然后由用 C 編寫的匹配引擎執行。


字符匹配(普通字符,元字符):
普通字符:大多數字符和字母都會和自身匹配
>>> re.findall('alex','yuanaleSxalexwupeiqi')
['alex']

2元字符:. ^ $ * + ? { } [ ] | ( ) \

?

我們首先考察的元字符是"[" 和 "]"。它們常用來指定一個字符類別,所謂字符類
別就是你想匹配的一個字符集。字符可以單個列出,也可以用“-”號分隔的兩個給定
字符來表示一個字符區間。例如,[abc] 將匹配"a", "b", 或 "c"中的任意一個字
符;也可以用區間[a-c]來表示同一字符集,和前者效果一致。如果你只想匹配小寫
字母,那么 RE 應寫成 [a-z].
元字符在類別里并不起作用。例如,[akm$]將匹配字符"a", "k", "m", 或 "$" 中
的任意一個;"$"通常用作元字符,但在字符類別里,其特性被除去,恢復成普通字
符。

():
#!python
>>> p = re.compile('(a(b)c)d')
>>> m = p.match('abcd')
>>> m.group(0)
'abcd'
>>> m.group(1)
'abc'
>>> m.group(2)
'b'

[]:元字符[]表示字符類,在一個字符類中,只有字符^、-、]和\有特殊含義。
字符\仍然表示轉義,字符-可以定義字符范圍,字符^放在前面,表示非.

+ 匹配+號前內容1次至無限次
? 匹配?號前內容0次到1次
{m} 匹配前面的內容m次
{m,n} 匹配前面的內容m到n次
*?,+?,??,{m,n}? 前面的*,+,?等都是貪婪匹配,也就是盡可能匹配,后面加?號使其變成惰性匹配


從前面的描述可以看到'*','+'和'*'都是貪婪的,但這也許并不是我們說要的,
所以,可以在后面加個問號,將策略改為非貪婪,只匹配盡量少的RE。示例,
體會兩者的區別:
>>> re.findall(r"a(\d+?)","a23b") # 非貪婪模式
['2']
>>> re.findall(r"a(\d+)","a23b")
['23']


>>> re.search('<(.*)>', '<H1>title</H1>').group()
'<H1>title</H1>'
re.search('<(.*?)>', '<H1>title</H1>').group()
'<H1>'

?

注意比較這種情況:
>>> re.findall(r"a(\d+)b","a23b")
['23']
>>> re.findall(r"a(\d+?)b","a23b") #如果前后均有限定條件,則非匹配模式失效
['23']


\:
反斜杠后邊跟元字符去除特殊功能,
反斜杠后邊跟普通字符實現特殊功能。
引用序號對應的字組所匹配的字符串
re.search(r"(alex)(eric)com\2","alexericcomeric")

\d 匹配任何十進制數;它相當于類 [0-9]。
\D 匹配任何非數字字符;它相當于類 [^0-9]。
\s 匹配任何空白字符;它相當于類 [ \t\n\r\f\v]。
\S 匹配任何非空白字符;它相當于類 [^ \t\n\r\f\v]。
\w 匹配任何字母數字字符;它相當于類 [a-zA-Z0-9_]。
\W 匹配任何非字母數字字符;它相當于類 [^a-zA-Z0-9_]
\b: 匹配一個單詞邊界,也就是指單詞和空格間的位置。
匹配單詞邊界(包括開始和結束),這里的“單詞”,是指連續的字母、數字和
下劃線組成的字符串。注意,\b的定義是\w和\W的交界,
這是個零寬界定符(zero-width assertions)只用以匹配單詞的詞首和詞尾。
單詞被定義為一個字母數字序列,因此詞尾就是用空白符或非字母數字符來標
示的。
>>> re.findall(r"abc\b","dzx &abc sdsadasabcasdsadasdabcasdsa")
['abc']
>>> re.findall(r"\babc\b","dzx &abc sdsadasabcasdsadasdabcasdsa")
['abc']
>>> re.findall(r"\babc\b","dzx sabc sdsadasabcasdsadasdabcasdsa")
[]

例如, 'er/b' 可以匹配"never" 中的 'er',但不能匹配 "verb" 中的 'er'。
\b只是匹配字符串開頭結尾及空格回車等的位置, 不會匹配空格符本身
例如"abc sdsadasabcasdsadasdabcasdsa",
\sabc\s不能匹配,\babc\b可以匹配到"abc"
>>> re.findall("\babc\b","abc sdsadasabcasdsadasdabcasdsa")
[]
>>> re.findall(r"\babc\b","abc sdsadasabcasdsadasdabcasdsa")
['abc']
\b 就是用在你匹配整個單詞的時候。 如果不是整個單詞就不匹配。 你想匹
配 I 的話,你知道,很多單詞里都有I的,但我只想匹配I,就是“我”,這個時
候用 \bI\b
************************************************
函數:

1
match:re.match(pattern, string, flags=0)
flags 編譯標志位,用于修改正則表達式的匹配方式,如:是否區分大小寫,
多行匹配等等。
re.match('com', 'comwww.runcomoob').group()

re.match('com', 'Comwww.runComoob',re.I).group()


2
search:re.search(pattern, string, flags=0)
re.search('\dcom', 'www.4comrunoob.5com').group()


注意:
re.match('com', 'comwww.runcomoob')
re.search('\dcom', 'www.4comrunoob.5com')
一旦匹配成功,就是一個match object 對象,而match object 對象擁有以下方法:
group() 返回被 RE 匹配的字符串
start() 返回匹配開始的位置
end() 返回匹配結束的位置
span() 返回一個元組包含匹配 (開始,結束) 的位置
group() 返回re整體匹配的字符串,可以一次輸入多個組號,對應組號匹配的字符串。
1. group()返回re整體匹配的字符串,
2. group (n,m) 返回組號為n,m所匹配的字符串,如果組號不存在,則返回indexError異常
3.groups()groups() 方法返回一個包含正則表達式中所有小組字符串的元組,從 1 到
所含的小組號,通常groups()不需要參數,返回一個元組,元組中的元就是正則
表達式中定義的組。
import re
a = "123abc456"
re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(0) #123abc456,返回整體
re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(1) #123
re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(2) #abc
re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(3) #456

group(1) 列出第一個括號匹配部分,group(2) 列出第二個括號匹配部分,group(3)
列出第三個括號匹配部分。

-----------------------------------------------
3
findall:
re.findall 以列表形式返回所有匹配的字符串
  re.findall可以獲取字符串中所有匹配的字符串。如:

p = re.compile(r'\d+')
print p.findall('one1two2three3four4')


re.findall(r'\w*oo\w*', text);獲取字符串中,包含'oo'的所有單詞。

import re
text = "JGood is a handsome boy,he is handsome and cool,clever,and so on ...."
print re.findall(r'\w*oo\w*',text) #結果:['JGood', 'cool']
#print re.findall(r'(\w)*oo(\w)*',text) # ()表示子表達式 結果:[('G', 'd'), ('c', 'l')]

finditer():

>>> p = re.compile(r'\d+')
>>> iterator = p.finditer('12 drumm44ers drumming, 11 ... 10 ...')
>>> for match in iterator:
match.group() , match.span()

4
sub subn:

re.sub(pattern, repl, string, max=0)
re.sub("g.t","have",'I get A, I got B ,I gut C')


5
split:
p = re.compile(r'\d+')
p.split('one1two2three3four4')

re.split('\d+','one1two2three3four4')

6
re.compile(strPattern[, flag]):
這個方法是Pattern類的工廠方法,用于將字符串形式的正則表達式編譯為
Pattern對象。 第二個參數flag是匹配模式,取值可以使用按位或運算符'|'
表示同時生效,比如re.I | re.M
  可以把正則表達式編譯成一個正則表達式對象。可以把那些經常使用的正則
表達式編譯成正則表達式對象,這樣可以提高一定的效率。下面是一個正則表達式
對象的一個例子:

import re
text = "JGood is a handsome boy, he is cool, clever, and so on..."
regex = re.compile(r'\w*oo\w*')
print regex.findall(text) #查找所有包含'oo'的單詞


question:


1 findall能不能返回全組匹配的列表,而不是優先捕獲組的列表:yes,
import re

a = 'abc123abv23456'
b = re.findall(r'23(a)?',a)
print b
b = re.findall(r'23(?:a)?',a)
print b

>>> re.findall("www.(baidu|xinlang)\.com","www.baidu.com")
['baidu']
>>> re.findall("www.(?:baidu|xinlang)\.com","www.baidu.com")
['www.baidu.com']
>>> re.findall("www.(?:baidu|xinlang)\.com","www.xinlang.com")
['www.xinlang.com']


findall如果使用了分組,則輸出的內容將是分組中的內容而非find到的結果,
為了得到find到的結果,要加上問號來啟用“不捕捉模式”,就可以了。


2 re.findall('\d*', 'www33333')

3 re.split("[bc]","abcde")


4 source = "1 - 2 * ( (60-30 +(-9-2-5-2*3-5/3-40*4/2-3/5+6*3) * (-9-2-5-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) - (-4*3)/ (16-3*2) )"


re.search('\([^()]*\)', source).group()regular='\d+\.?\d*([*/]|\*\*)[\-]?\d+\.?\d*'
re.search('\d+\.?\d*([*/]|\*\*)[\-]?\d+\.?\d*', string).group()


add_regular='[\-]?\d+\.?\d*\+[\-]?\d+\.?\d*'
sub_regular='[\-]?\d+\.?\d*\-[\-]?\d+\.?\d*'
re.findall(sub_regular, "(3+4-5+7+9)")


4 檢測一個IP地址:
re.search(r"(([01]?\d?\d|2[0-4]\d|25[0-5])\.){3}([01]?\d?\d|2[0-4]\d|25[0-5]\.)","192.168.1.1")

?

?

-----------------------------------------------------------

re.I 使匹配對大小寫不敏感
re.L 做本地化識別(locale-aware)匹配
re.M 多行匹配,影響 ^ 和 $
re.S 使 . 匹配包括換行在內的所有字符
>>> re.findall(".","abc\nde")
>>> re.findall(".","abc\nde",re.S)
re.U 根據Unicode字符集解析字符。這個標志影響 \w, \W, \b, \B.
re.X 該標志通過給予你更靈活的格式以便你將正則表達式寫得更易于理解。

re.S:.將會匹配換行符,默認.逗號不會匹配換行符
>>> re.findall(r"a(\d+)b.+a(\d+)b","a23b\na34b")
[]
>>> re.findall(r"a(\d+)b.+a(\d+)b","a23b\na34b",re.S)
[('23','34')]
>>>
re.M:^$標志將會匹配每一行,默認^只會匹配符合正則的第一行;默認$只會匹配符合正則的末行
>>> re.findall(r"^a(\d+)b","a23b\na34b")
['23']
>>> re.findall(r"^a(\d+)b","a23b\na34b",re.M)
['23','34']
但是,如果沒有^標志,
>>> re.findall(r"a(\d+)b","a23b\na34b")
['23','43']
可見,是無需re.M

import re

n='''12 drummers drumming,
11 pipers piping, 10 lords a-leaping'''

p=re.compile('^\d+')
p_multi=re.compile('^\d+',re.MULTILINE) #設置 MULTILINE 標志
print re.findall(p,n) #['12']
print re.findall(p_multi,n) # ['12', '11']
============================
import re
a = 'a23b'
print re.findall('a(\d+?)',a) #['2']
print re.findall('a(\d+)',a) #['23']
print re.findall(r'a(\d+)b',a) #['23']
print re.findall(r'a(\d+?)b',a) # ['23']
============================
b='a23b\na34b'
''' . 匹配非換行符的任意一個字符'''

re.findall(r'a(\d+)b.+a(\d+)b',b) #[]

re.findall(r'a(\d+)b',b,re.M) # ['23', '34']

re.findall(r'^a(\d+)b',b,re.M) # ['23', '34']

re.findall(r'a(\d+)b',b) #['23','34'] 可以匹配多行

re.findall(r'^a(\d+)b',b) # ['23'] 默認^只會匹配符合正則的第一行

re.findall(r'a(\d+)b$',b) # ['34'] 默認$只會匹配符合正則的末行

re.findall(r'a(\d+)b',b,re.M) #['23', '34']

re.findall(r'a(\d+)b.?',b,re.M) # ['23', '34']

re.findall(r"a(\d+)b", "a23b\na34b") # ['23', '34']
---------------------------------------------------------------


推薦:http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html

?


*****關于rawstring以及\:

\n是換行,ASCLL碼是10
\r是回車,ASCLL碼是13

re.findall("\","abc\de")

f=open("C:\abc.txt")
\a是 轉義字符 007,響鈴符 BEL。
f=open(r"D:\abc.txt")
>>>>>>python自己也需要轉義,也是通過\轉義

>>> re.findall(r"\d","ww2ee")
['2']
>>> re.findall("\d","ww2ee")
['2']

>>強烈建議用raw字符串來表述正則

?

你可能已經看到前面關于原始字符串用法的一些例子了。原始字符串的產生正是由于有正則表
達式的存在。原因是ASCII 字符和正則表達式特殊字符間所產生的沖突。比如,特殊符號“\b”在
ASCII 字符中代表退格鍵,但同時“\b”也是一個正則表達式的特殊符號,代表“匹配一個單詞邊界”。
為了讓RE 編譯器把兩個字符“\b”當成你想要表達的字符串,而不是一個退格鍵,你需要用另一個
反斜線對它進行轉義,即可以這樣寫:“\\b”。
但這樣做會把問題復雜化,特別是當你的正則表達式字符串里有很多特殊字符時,就更容
易令人困惑了。原始字符串就是被用于簡化正則表達式的復雜程度。
事實上,很多Python 程序員在定義正則表達式時都只使用原始字符串。
下面的例子用來說明退格鍵“\b” 和正則表達式“\b”(包含或不包含原始字符串)之間的區別:
>>> m = re.search('\bblow', 'blow') # backspace, no match #退格鍵,沒有匹配

>>> re.search('\\bblow', 'I blow').group() # escaped \, now it works #用\轉義后,現在匹
配了

>>> re.search(r'\bblow', 'I blow').group() # use raw string instead #改用原始字符串

你可能注意到我們在正則表達式里使用“\d”,沒用原始字符串,也沒出現什么問題。那是因為
ASCII 里沒有對應的特殊字符,所以正則表達式編譯器能夠知道你指的是一個十進制數字

######################

re模塊的常用方法

?re.compile(strPattern[, flag])
參數: strPattern:正則表達式 flag:匹配模式,可選值有 re.I(re.IGNORECASE): 忽略大小寫(括號內是完整寫法,下同) M(MULTILINE): 多行模式,改變'^'和'$'的行為(參見上圖) S(DOTALL): 點任意匹配模式,改變'.'的行為 L(LOCALE): 使預定字符類 \w \W \b \B \s \S 取決于當前區域設定 U(UNICODE): 使預定字符類 \w \W \b \B \s \S \d \D 取決于unicode定義的字符屬性 X(VERBOSE): 詳細模式。這個模式下正則表達式可以是多行,忽略空白字符,并可以加入注釋。 返回值:Pattern對象是一個編譯好的正則表達式,通過Pattern提供的一系列方法可以對文本進行匹配查找 以下的方法既可以是Pattern對象的實例方法也可以是re模塊的方法,語法稍有不同

match(string[, pos[, endpos]]) | re.match(pattern, string[, flags])

這個方法將從string的pos下標處起嘗試匹配pattern;如果pattern結束時仍可匹配,則返回一個Match對象;如果匹配過程中pattern無法匹配,或者匹配未結束就已到達endpos,則返回None。? pos和endpos的默認值分別為0和len(string);re.match()無法指定這兩個參數,參數flags用于編譯pattern時指定匹配模式。? 注意:這個方法并不是完全匹配。當pattern結束時若string還有剩余字符,仍然視為成功。想要完全匹配,可以在表達式末尾加上邊界匹配符'$'。? 參數: string:要匹配的字符串 pos:匹配的開始下標 endpos:匹配的結束下標 pattern:正則表達式 flags:匹配模式 返回值:如果匹配成功返回match對象,否則返回None

search(string[, pos[, endpos]]) | re.search(pattern, string[, flags])

這個方法用于查找字符串中可以匹配成功的子串。從string的pos下標處起嘗試匹配pattern,如果pattern結束時仍可匹配,則返回一個Match對象;若無法匹配,則將pos加1后重新嘗試匹配;直到pos=endpos時仍無法匹配則返回None。? pos和endpos的默認值分別為0和len(string));re.search()無法指定這兩個參數,參數flags用于編譯pattern時指定匹配模式。? 參數:同match 返回值:同match 我們通過一個實例來看一下兩個方法的區別 >>> import re >>> s = 'hello world' >>> print(re.match('ello', s)) None >>> print(re.search('ello',s )) <_sre.SRE_Match object; span=(1, 5), match='ello'>說明:可以看到macth只匹配開頭,開頭不匹配,就不算匹配到,search則可以從中間,只要能有匹配到就算匹配 findall(string[, pos[, endpos]]) | re.findall(pattern, string[, flags])搜索string,以列表形式返回全部能匹配的子串。有點像search的擴展,把所有匹配的子串放到一個列表參數:同match返回值:所有匹配的子串,沒有匹配則返回空列表 >>> import re >>> s = 'one1two2three3four4' >>> re.findall('\d+', s) ['1', '2', '3', '4']

split(string[, maxsplit]) | re.split(pattern, string[, maxsplit]):

按照匹配字子串將字符串進行分割,返回分割收的列表 參數: string:要分割的字符串 pattern:正則表達式 maxsplit:最大分割次數 返回值:分割后的列表 實例 >>> import re >>> s = 'one1two2three3four4' >>> re.split('\d+',s) ['one', 'two', 'three', 'four', '']

sub(repl, string[, count]) | re.sub(pattern, repl, string[, count])

使用repl替換string中匹配的每一子串 參數: repl:替換的字符串或方法,這里需要說一下這個方法,方法接收macth對象,方法的返回值作為替換的字符串,換句話就是經過處理的字符串。 string:要進行替換的字符串 pattern:正則表達式 count:替換的次數 實例:對于repl是個方法的情況,正好這次作業用到,用來替換多個則很難過福號的情況。假設我們有一個四則運算表達式 '--(1.1+1+1-(-1)-(1+1+(1+1+2.2)))+-----111+--++--3-+++++++---+---1+4+4/2+(1+3)*4.1+(2-1.1)*2/2*3',遵循奇數個負號等于正否則為負的原則進行替換,我們可以這樣 if __name__ == '__main__':import res = '--(1.1+1+1-(-1)-(1+1+(1+1+2.2)))+-----111+--++--3-+++++++---+---1+4+4/2+(1+3)*4.1+(2-1.1)*2/2*3'def replace_sign(expression):'''替換多個連續+-符號的問題,例如+-----,遵循奇數個負號等于正否則為負的原則進行替換:param expression: 表達式,包括有括號的情況:return: 返回經過處理的表達式'''def re_sign(m):if m:if m.group().count('-')%2 == 1:return '-'else:return '+'else:return ''expression = re.sub('[\+\-]{2,}', re_sign, expression)return expressions = replace_sign(s)print(s)

執行結果

24 +(1.1+1+1-(-1)-(1+1+(1+1+2.2)))-111+3-1+4+4/2+(1+3)*4.1+(2-1.1)*2/2*3

?

四.冒泡

它重復地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重復地進行直到沒有再需要交換,也就是說該數列已經排序完成。

? li = [1,2,33,55,2,77,6,88,9,25] l = len(li) 冒泡排序 print(l) for i in range(len(li)):# print(li[i])for j in range(l):if li[i] > li[j]:tmp = li[i]li[i] = li[j]li[j] = tmp print(li) #[88, 77, 55, 33, 25, 9, 6, 2, 1]

?

#選擇排序 # #index # max_index = 0 # for j in range(len(li)): # for i in range(len(li)-j): # # print(i,li[i]) # # for j in range(l): # if li[i] > li[max_index]: # max_index = i # print(max_index) # # print(l-i) # # tmp = li[len(li)-j-1] # li[len(li)-j-1] = li[max_index] # li[max_index] = tmp # print(li[len(li)-1]) # print(max_index) # print(li)

?

?

轉載于:https://www.cnblogs.com/jasonwang-2016/p/5591139.html

總結

以上是生活随笔為你收集整理的反射,hashlib模块,正则匹配,冒泡,选择,插入排序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

91久久影院 | 国产精品电影一区二区 | 免费观看一级一片 | 亚洲国产综合在线 | 99精品视频免费观看视频 | 97在线观看视频 | 在线观看视频免费播放 | 成人av电影在线 | 黄色a视频 | 国产一区麻豆 | 91视频3p | 在线激情小视频 | 少妇搡bbb| 国产一级免费视频 | 美女网站色在线观看 | 婷婷亚洲综合五月天小说 | 成人免费观看视频网站 | 亚洲精品久久久久www | 免费看亚洲毛片 | 五月婷婷另类国产 | 日韩中文字幕免费视频 | 日韩精品中文字幕在线 | 久久久精品久久日韩一区综合 | 在线观看中文字幕视频 | 欧美狠狠操| 九九热视频在线免费观看 | 久久久综合 | 午夜手机电影 | 免费在线观看91 | 亚洲三级视频 | 黄色一级大片免费看 | 国产69精品久久久久99 | 日韩视频在线观看免费 | 黄色小网站在线观看 | 在线激情av电影 | 日韩av一区二区在线影视 | 超碰在线cao | 五月婷婷久 | 97品白浆高清久久久久久 | 国内精品国产三级国产aⅴ久 | 久久精品网站免费观看 | 亚洲欧美乱综合图片区小说区 | 超级碰碰碰视频 | 国内揄拍国产精品 | 在线观看电影av | av免费网| av在线免费观看不卡 | 91九色视频 | 超碰国产在线播放 | 欧美一级性视频 | 欧美成人播放 | 99精品在线视频观看 | 日本不卡视频 | 在线观影网站 | 日韩精品影视 | 欧美性大战久久久久 | 国产日韩精品在线观看 | 国产在线观看不卡 | 久久99视频免费观看 | 国产无吗一区二区三区在线欢 | 精品99免费视频 | 精品在线一区二区 | 韩国精品一区二区三区六区色诱 | 五月天婷亚洲天综合网精品偷 | 中文字幕第一页在线播放 | 国产精品99久久久久人中文网介绍 | 免费三级在线 | 超碰com| 午夜久久影视 | 99久久精品一区二区成人 | 亚洲精品国产免费 | 日韩视频在线不卡 | 亚洲国产三级在线观看 | 日本三级在线观看中文字 | 在线观看视频你懂得 | 深夜免费福利视频 | 亚洲国产婷婷 | 日韩免费在线网站 | 亚洲高清在线 | 天天舔天天射天天操 | 亚洲高清色综合 | 精品在线99 | 免费高清在线观看成人 | 在线看国产视频 | 一区二区观看 | 久久精品官网 | 麻豆视频在线免费看 | 亚洲精品视频在线观看免费视频 | 99精品视频在线播放免费 | 一区三区视频 | 最近2019好看的中文字幕免费 | 四虎在线视频免费观看 | 播五月综合 | 深爱婷婷网 | 国产日韩视频在线播放 | 欧美性大战久久久久 | 久久久视频在线 | 亚洲综合色视频 | 九九热免费在线视频 | 国内揄拍国产精品 | 久久影视中文字幕 | 国产中文在线观看 | 99久久精品无码一区二区毛片 | 久久99最新地址 | 中文字幕 欧美性 | 97在线影视 | 男女激情片在线观看 | 免费日韩一区二区三区 | 精品国产乱码久久久久久浪潮 | 天天色天天 | 91精品国产三级a在线观看 | 在线观看国产区 | 91夫妻视频 | 在线视频黄 | 亚洲成av片人久久久 | www.天天射| 欧美另类z0zx | 国产精品久久网 | 久久久久亚洲精品中文字幕 | 日本大片免费观看在线 | 狠狠操狠狠干2017 | 91精品成人 | 亚洲精品欧洲精品 | 日韩一级黄色片 | 黄色动态图xx | 不卡av在线免费观看 | 香蕉视频免费看 | 丝袜一区在线 | 欧美日本在线观看视频 | 黄色大全在线观看 | 日韩精品欧美专区 | 久久国产精品一区二区 | 久久99久久99精品免观看软件 | 最新日韩在线观看视频 | 精品国产一区二区三区久久久蜜月 | 国内精品久久久久影院男同志 | 国产一级黄色电影 | 日韩 在线a | 国产高清视频在线观看 | 日韩影片在线观看 | 91九色最新地址 | 欧美久久久久久久久久久久久 | 日韩城人在线 | 色婷婷狠狠五月综合天色拍 | 国产精久久 | 黄色av高清 | 国产成年免费视频 | 久久久官网 | 色婷婷狠狠操 | 日韩在线观看不卡 | 国产高清久久久久 | 久久久久久国产一区二区三区 | 永久中文字幕 | 亚洲黄色区 | 日韩一二三区不卡 | 久久伊人91 | 日日综合 | 国产午夜三级一区二区三 | 91av在线国产 | 综合激情网 | 欧美日韩不卡在线观看 | 国产啊v在线观看 | 天堂av影院| 亚洲午夜久久久久久久久久久 | 一区二区三区国产精品 | www视频在线观看 | 亚洲 欧洲 国产 精品 | 国产专区在线 | 97av影院 | 成 人 黄 色 视频 免费观看 | 五月天婷婷在线播放 | 日韩在线网址 | 福利视频在线看 | 国产免费a| 日韩在线无 | 五月天天天操 | 91刺激视频 | 色综合天天综合 | 久久超碰免费 | 丁香婷婷在线观看 | 国产偷v国产偷∨精品视频 在线草 | 久久,天天综合 | 久久精品美女 | 日韩欧美在线观看 | 精品一区 精品二区 | 黄色毛片视频 | 偷拍精偷拍精品欧洲亚洲网站 | 国产中文自拍 | 最新日韩视频在线观看 | 国产精品18久久久久久首页狼 | 国产免费久久精品 | 国产麻豆视频网站 | 欧美人体xx | 国产视频精选在线 | 日韩伦理片一区二区三区 | 天天爱综合 | 黄色tv视频| 日韩精品2区 | 国产精品久久久久久久久婷婷 | 国内精品在线看 | 深夜精品福利 | 91精品一区二区三区久久久久久 | 久草视频在线资源站 | 成人免费在线看片 | 99久久婷婷国产综合精品 | 在线播放一区二区三区 | 亚洲最大的av网站 | 国产1区2区 | 六月激情丁香 | 91在线日本| av7777777| 欧美成人手机版 | 1区2区3区在线观看 三级动图 | 国产成人一区二区三区 | 国产日产精品久久久久快鸭 | 亚洲伊人网在线观看 | 国产一二区视频 | 九热在线 | 男女免费视频观看 | 国产精品一区二区久久国产 | 欧美日韩天堂 | 国产精品毛片久久久久久久久久99999999 | 一本一道久久a久久综合蜜桃 | 天堂麻豆| 国产91九色蝌蚪 | 欧美日韩中文在线 | 国产免费一区二区三区网站免费 | 久久涩视频 | 欧美一级黄色网 | a久久久久| 国产r级在线观看 | 日日夜夜中文字幕 | 久亚洲| 五月天.com | 国产理论影院 | 98超碰在线观看 | 成人综合婷婷国产精品久久免费 | 国产成人一区二区三区在线观看 | 中文字幕亚洲欧美 | 99中文字幕 | 中文不卡视频 | 亚洲欧美婷婷六月色综合 | 欧美一性一交一乱 | 91av成人 | 四虎伊人| 久久久国产一区二区三区 | 456成人精品影院 | 国产美女视频网站 | 国产伦理久久精品久久久久_ | 国产欧美精品一区二区三区四区 | 国产成人av一区二区三区在线观看 | 激情五月在线观看 | 欧美大片在线观看一区 | 午夜精品久久久久久中宇69 | 中文字幕久久精品亚洲乱码 | 极品中文字幕 | 激情 一区二区 | 天天草天天干天天射 | 国产人成看黄久久久久久久久 | 中文字幕永久在线 | 国产精品免费看久久久8精臀av | 手机看片 | 最新三级在线 | 夜又临在线观看 | 国产精品一区二区免费看 | 中文字幕精品视频 | 午夜av在线免费 | 91热精品 | 免费在线播放av电影 | 五月婷婷激情网 | 国产99久久久久久免费看 | 国产精品九九视频 | 日本韩国中文字幕 | 欧美精品一区二区三区一线天视频 | 亚洲天天在线日亚洲洲精 | 亚洲综合色视频在线观看 | 久久久福利影院 | 国产精品视频内 | 国产1级视频 | 国语麻豆 | 欧美福利视频一区 | 国产精品一区二区在线免费观看 | 国产成人精品亚洲日本在线观看 | 九九九电影免费看 | 18国产精品白浆在线观看免费 | 天天爽人人爽 | 一区二区精品在线视频 | 黄污在线看| 日韩高清www| 91秒拍国产福利一区 | 又黄又爽又无遮挡的视频 | 九九热在线免费观看 | 欧美午夜精品久久久久久浪潮 | 久草在线视频在线观看 | 91精品对白一区国产伦 | 爱情影院aqdy鲁丝片二区 | 99精品黄色片免费大全 | 一区二区三区电影在线播 | 日本黄区免费视频观看 | 超碰在线网 | 国产va饥渴难耐女保洁员在线观看 | 国产特级毛片aaaaaa毛片 | 久久深夜福利免费观看 | 超碰免费公开 | 国产福利精品一区二区 | 免费在线成人av电影 | 色噜噜狠狠狠狠色综合久不 | a天堂一码二码专区 | 国产亚洲日 | 欧美一级淫片videoshd | 亚洲日韩中文字幕 | 日韩精品欧美视频 | 狠狠色伊人亚洲综合网站野外 | 97精品久久人人爽人人爽 | 久久国产免费看 | 黄色影院在线免费观看 | 天天爱天天射 | 国产在线高清 | av电影在线免费 | 九九免费在线观看 | 欧美精品xxx| 国产精品久久久久永久免费看 | 亚洲精品动漫成人3d无尽在线 | 在线看国产日韩 | 久久手机免费观看 | 国产99久久精品 | 国产精品成人久久久 | 久久国产免费 | 久久国产成人午夜av影院潦草 | 五月天亚洲激情 | 99色在线观看视频 | 国产资源在线免费观看 | 婷婷色社区| 天天天天干 | 日日爱视频 | 中文字幕在线一二 | 天天夜操 | 91精品视频免费 | 毛片区 | 不卡的av片 | 91丨精品丨蝌蚪丨白丝jk | 9热精品| 久久久精品视频网站 | 婷婷色婷婷 | 爱爱av网站 | 日韩精品欧美专区 | 日本在线观看视频一区 | 国产精品9999久久久久仙踪林 | 精品国产电影一区 | 国产我不卡 | 久久久久久久久久久久久久免费看 | av高清免费在线 | 国产精品成人av久久 | 精品视频在线看 | 日韩网站在线播放 | 国产成人一区二区三区久久精品 | 成人午夜剧场在线观看 | 国产福利av | 99国产精品久久久久老师 | 一区二区视频电影在线观看 | 国产首页 | 免费看v片网站 | 又黄又刺激 | 亚洲美女精品区人人人人 | 免费大片黄在线 | 五月婷婷电影网 | 9i看片成人免费看片 | 综合色站导航 | 51久久夜色精品国产麻豆 | 福利网址在线观看 | 国产午夜精品一区二区三区四区 | 996久久国产精品线观看 | 91在线一区二区 | 天天射天天干 | 在线观看第一页 | 中文十次啦 | 一区二区精品久久 | 国产精品一区久久久久 | 亚洲一级特黄 | 婷婷香蕉 | 欧美日韩一二三四区 | 国产伦精品一区二区三区四区视频 | www.com在线观看| 精品国产一区二区三区噜噜噜 | 日本中文字幕免费观看 | 成人资源站 | 亚洲精品黄色 | 国产精品久久 | 日韩精品视频久久 | 伊人午夜| 五月天婷亚洲天综合网精品偷 | 婷婷四房综合激情五月 | 日产av在线播放 | 人人干人人艹 | 97视频在线看 | 亚洲电影黄色 | 国产精品theporn | 国产电影黄色av | 亚洲日本精品 | 97国产大学生情侣酒店的特点 | 日韩视频1区 | 欧美一区中文字幕 | 中文字幕高清 | 亚洲国产美女精品久久久久∴ | 国产区免费 | 成人精品视频久久久久 | 亚洲成人黄色 | 天堂av在线免费 | 久久久精品高清 | 中文字幕影片免费在线观看 | 久久麻豆视频 | 国产精品岛国久久久久久久久红粉 | 国产精品99久久99久久久二8 | 国产精品久久一区二区三区不卡 | 久久成人一区二区 | 久久国产精品免费视频 | 91系列在线观看 | 公与妇乱理三级xxx 在线观看视频在线观看 | 最新极品jizzhd欧美 | 深爱开心激情 | 超碰在线资源 | 正在播放国产精品 | av黄色国产| 久久在线影院 | 欧美 日韩 久久 | 麻豆影视网 | 天天操天天操天天操天天 | 天天干天天操天天入 | 91麻豆国产| 日韩精品不卡在线 | 亚洲综合在线播放 | 亚洲日韩欧美一区二区在线 | 亚洲精品久久久久久国 | 精品国产欧美一区二区三区不卡 | 在线亚洲成人 | 欧美精品久久久久久 | 精品美女国产在线 | 国产精品久久久久毛片大屁完整版 | 国产日产高清dvd碟片 | 久久99亚洲网美利坚合众国 | 精品一区精品二区高清 | 国产亚洲欧美日韩高清 | 色在线免费观看 | 色婷婷av一区二 | 亚洲区精品| 超碰999| 久久久首页 | 国产精品美乳一区二区免费 | 日韩在线电影一区 | 国产免费视频一区二区裸体 | 91高清视频| 国产美女精品久久久 | 视频在线观看一区 | 国产精品高潮久久av | 国产精品99久久久久久久久久久久 | 国产精品s色 | 久久公开视频 | 久久久国产一区二区 | 久久人人爽人人爽人人 | 激情伊人五月天久久综合 | 欧美日韩一区二区三区不卡 | 99在线观看免费视频精品观看 | 久久精品欧美日韩精品 | av电影免费看 | 日韩午夜av电影 | 亚洲性少妇性猛交wwww乱大交 | 成人av在线网 | 欧美成人精品三级在线观看播放 | 婷久久| 亚洲深夜影院 | 肉色欧美久久久久久久免费看 | 91免费看黄色 | 亚洲伦理一区二区 | 91精品视频导航 | 亚洲电影院 | 国产日产精品一区二区三区四区的观看方式 | 亚洲国产成人精品在线观看 | 成人免费91 | 国模精品一区二区三区 | 一区二区视频在线免费观看 | 国产亚洲精品女人久久久久久 | 97人人爽 | 日本最新高清不卡中文字幕 | 久久理论电影网 | 激情伊人五月天久久综合 | 精品一区二区在线免费观看 | 欧美成人免费在线 | 色中色亚洲 | 激情片av | 午夜国产福利在线 | 欧美污网站 | 国产成人一区二区精品非洲 | av资源在线看 | 国产精品嫩草69影院 | 手机在线欧美 | 日本久久久精品视频 | 欧美a级片免费看 | 久久久精品福利视频 | 五月天色中色 | 91精品一区二区在线观看 | 色婷婷综合视频在线观看 | 伊人久久国产精品 | 欧美精品久久久久性色 | 午夜在线观看影院 | av看片在线| 国产啊v在线观看 | 国产亚洲欧美在线视频 | 欧美午夜a | 日韩欧美精品免费 | 99久久日韩精品视频免费在线观看 | 狠狠色伊人亚洲综合网站野外 | www四虎影院 | 国产在线毛片 | 精精国产xxxx视频在线播放 | 狠狠狠狠狠狠干 | 国产青春久久久国产毛片 | 免费成人av在线看 | 麻豆91视频| 久久高清免费观看 | 亚洲黄在线观看 | 免费在线观看一级片 | 人人精久| 国内精品久久影院 | www.夜夜爱 | 深夜福利视频在线观看 | 国产精品激情在线观看 | 美女在线观看av | 欧美日韩亚洲在线观看 | 欧美激情一区不卡 | 中文字幕在线视频精品 | 欧美精品九九99久久 | 欧美91精品久久久久国产性生爱 | 亚洲视频 在线观看 | 精品日韩在线 | 高清不卡免费视频 | 国产精品久久久亚洲 | 91看片淫黄大片一级在线观看 | 国产成人精品网站 | 国产精品wwwwww | av免费福利| 国产精品 欧美 日韩 | 成人影片在线播放 | 在线电影 一区 | 色.com| 中文字幕乱码亚洲精品一区 | 国产美女网 | 免费看久久久 | 国产视频在线免费 | 国产婷婷视频在线 | 日韩 精品 一区 国产 麻豆 | av成人免费网站 | 99久久精品日本一区二区免费 | 欧美人zozo | 婷婷久久精品 | 色综合久久久久综合体桃花网 | 久久久免费电影 | 激情五月色播五月 | 精品国产伦一区二区三区免费 | 久久99精品久久只有精品 | 国产精品视频你懂的 | 午夜视频99 | 亚州av一区 | 天天干天天弄 | 超碰在线9 | 精品久久福利 | 日韩xxxx视频 | 天天搞夜夜骑 | 久久午夜国产 | 国产成人精品一区二 | 91精品国产高清自在线观看 | 国产精品 9999 | 西西大胆啪啪 | 欧美成人在线免费 | 在线国产中文字幕 | 在线观看www91 | av一区二区在线观看中文字幕 | 欧美日韩一区二区三区在线免费观看 | 狠狠色丁香久久婷婷综合_中 | 五月天狠狠操 | 免费观看91视频大全 | 国产999久久久 | 超碰人人国产 | 韩国av电影在线观看 | 欧美成人一二区 | 片网址 | 国产精品123| 九九久久久久久久久激情 | 久久在线电影 | 最新av网址在线 | 天天干,天天射,天天操,天天摸 | 精品国产欧美 | 五月天久久 | 99在线热播精品免费 | 天天爽综合网 | 99视屏 | 美女视频黄是免费的 | 成人免费观看av | 91九色porny蝌蚪主页 | 国产女教师精品久久av | 成人在线你懂得 | 久久99影院 | 成人久久久精品国产乱码一区二区 | 亚洲精品a区 | 中国一级片免费看 | 欧美日本国产在线观看 | 免费在线播放 | 午夜婷婷在线观看 | h视频在线看 | 日韩一区二区三免费高清在线观看 | 日本精品在线视频 | 天天操天天操天天操天天操天天操天天操 | 成人黄色电影在线播放 | 国产高清在线免费视频 | 免费看黄20分钟 | 日韩精品视频在线观看免费 | 欧美日韩首页 | 视频三区在线 | 三级a视频 | www成人av | 91精品视频网站 | 欧美日韩一级在线 | 97视频在线免费 | 夜夜嗨av色一区二区不卡 | wwwwww黄 | 国产色视频一区二区三区qq号 | 综合久久久久 | 毛片久久久 | 成年人免费av | 337p欧美 | 欧产日产国产69 | 天天干天天操天天 | 日本性生活免费看 | 麻豆精品视频在线观看免费 | 国产精品久久久久久麻豆一区 | 亚洲年轻女教师毛茸茸 | 黄污网站在线观看 | 久久亚洲精品国产亚洲老地址 | 亚洲国产欧美一区二区三区丁香婷 | 国产色a在线观看 | 日韩v欧美v日本v亚洲v国产v | 一区二区理论片 | 免费在线精品视频 | 精品国产乱码久久久久久天美 | 国产成人福利在线观看 | 色亚洲网| 91在线播放综合 | 日本三级不卡视频 | 中文字幕亚洲精品在线观看 | 久久99亚洲精品久久久久 | 2000xxx影视| 在线观看片 | 国产在线播放不卡 | 综合国产在线 | 日韩啪啪小视频 | 国产视频在线观看免费 | 免费日韩一区二区三区 | 久久伊人国产精品 | 超碰99在线 | 人人草在线观看 | 曰本三级在线 | 久久视频在线免费观看 | 亚洲狠狠丁香婷婷综合久久久 | 国内精品久久久久久中文字幕 | 国产成人精品女人久久久 | 亚洲精品午夜一区人人爽 | 久免费 | 91爱在线 | 国产精品久久久久久久久久久久冷 | 久久精品久久精品久久 | 人人草人 | 黄色小说免费在线观看 | 欧美日韩精| 992tv人人网tv亚洲精品 | 国产五月色婷婷六月丁香视频 | 欧美91视频 | 久久精品视频在线观看 | 天天艹天天操 | 国产精品免费在线播放 | 欧美午夜久久久 | av电影免费看| 超碰97久久 | 五月婷丁香 | 亚洲免费在线观看视频 | 久久中文字幕在线视频 | 久久伊人爱 | 久久久九色精品国产一区二区三区 | 久在线观看| 免费av大片 | 黄色免费网站下载 | 国产v在线播放 | 国产日产精品一区二区三区四区的观看方式 | 麻豆91在线 | 福利一区在线 | 啪啪激情网 | 天天干视频在线 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 狠狠狠综合 | 99re久久资源最新地址 | 国产国产人免费人成免费视频 | 在线电影播放 | 国产亚洲精品v | 欧美日韩后 | 欧美精品在线观看 | 国产69精品久久久久99 | 久久综合9988久久爱 | 欧美黄色特级片 | 色999精品 | 日韩av五月天 | 91精品国自产在线观看欧美 | 中文字幕丝袜制服 | 精品视频www | 久久99精品久久久久蜜臀 | 国产视频精品久久 | 免费观看一区 | 欧美色婷婷 | 九色福利视频 | 日韩av一区二区三区在线观看 | 色天天综合网 | 波多野结衣久久资源 | 91最新国产 | 免费一级片久久 | 激情五月在线视频 | 国产99视频在线观看 | 久久久久国产精品一区 | 国内精品久久久久影院优 | 国产黄色片免费在线观看 | 久久久久综合精品福利啪啪 | 国产精品18久久久久久久久久久久 | 久久超碰网 | 国产午夜视频在线观看 | 天天插天天干 | av最新资源 | 狠狠色伊人亚洲综合网站色 | 国产一区高清在线 | 999久久久久久久久久久 | 久久只精品99品免费久23小说 | 99精品毛片 | 国产精品高 | 欧洲亚洲国产视频 | 超碰在线公开免费 | 亚洲色图色 | 色综合久久88色综合天天免费 | 国产在线小视频 | av+在线播放在线播放 | 麻豆视频国产精品 | 黄色a一级片 | a黄色| 日韩高清免费在线观看 | 国产精品久久久久久久久久久不卡 | 又黄又刺激视频 | 骄小bbw搡bbbb揉bbbb | 麻豆影视在线播放 | 久99久久| 午夜精品久久久久99热app | 18pao国产成视频永久免费 | 在线观看日韩视频 | 最近中文国产在线视频 | 国产黄色一级片在线 | 亚洲爱爱视频 | 国产在线观看二区 | 日韩二区三区在线观看 | 久久影视精品 | 日本中文字幕电影在线免费观看 | 2019天天干夜夜操 | 国产精品久久99综合免费观看尤物 | 99r国产精品 | 一区二区三区四区在线 | 91在线你懂的 | 亚洲久草在线视频 | 天天操夜操视频 | 成人资源网 | 97免费视频在线 | 亚洲精品国产第一综合99久久 | 日韩视频区 | 中文字幕字幕中文 | 国产免费午夜 | 国产精品精品视频 | 中文字幕在线播放日韩 | 国产一区高清在线观看 | 国产96在线观看 | 久久国产精品99国产 | 欧美精品免费视频 | 亚洲精品一区二区网址 | 亚洲国产日韩av | 亚洲一区天堂 | 久草久草在线观看 | 国内精品久久天天躁人人爽 | 久久最新 | 亚洲精品三级 | 天堂中文在线播放 | 久久久久久欧美二区电影网 | 久久免费看av | 久草在线费播放视频 | 国产夫妻av在线 | 一区二区三区四区久久 | 久草在线视频免费资源观看 | 日本精品视频一区二区 | 日韩中文在线播放 | 国产成人精品午夜在线播放 | 日韩激情在线视频 | 日本特黄一级片 | 99产精品成人啪免费网站 | 国产精品久久久视频 | 91片网| 国产精品久久久久久久久久久久午 | 五月的婷婷 | 一区二区中文字幕在线播放 | 免费特级黄色片 | 国产精品久久久久久五月尺 | 欧美国产日韩在线观看 | 欧美日韩精品在线免费观看 | 日韩有码中文字幕在线 | 99色在线播放 | 91自拍视频在线观看 | 在线观看日韩免费视频 | 在线久热 | 天天干夜夜操视频 | 精品久久久久国产 | 久久国产女人 | 在线免费观看的av | 国产精品久久久久久久久久妇女 | 免费高清av在线看 | 麻豆94tv免费版 | 日韩欧美精选 | 亚洲资源| 亚洲精品男人天堂 | www.综合网.com| 欧美成人日韩 | 中文字幕免费国产精品 | 波多野结衣电影一区二区 | 美女网站视频久久 | 久草国产精品 | 国产精品一区二区 91 | 在线观看小视频 | 日韩免费网站 | 日本视频精品 | 中午字幕在线 | 精品久久精品久久 | 日韩天天干 | 欧美 国产 视频 | 日韩极品在线 | 久久久久这里只有精品 | 午夜精品一二区 | 久青草视频在线观看 | 精品久久精品久久 | 日韩中文字幕视频在线 | 亚洲91精品在线观看 | aa级黄色大片| 成人av免费电影 | 国产中文字幕一区二区 | 少妇精69xxtheporn | 亚洲日日日 | 丁香六月婷婷开心婷婷网 | 国产一区二区三精品久久久无广告 | www.狠狠操.com| 日日夜夜干 | 免费视频a | 欧美色图亚洲图片 | 亚洲精品自拍视频在线观看 | 午夜电影 电影 | 一本一道久久a久久精品蜜桃 | 日本午夜在线亚洲.国产 | 在线观看日韩精品 | 久久久视屏 | 欧美精品久久久久久 | 99国内精品 | 日韩av中文字幕在线免费观看 | 91麻豆精品国产91久久久久久 | 中文字幕一区二区三区久久 | 国产成人精品一区二区在线观看 | 亚洲精品91天天久久人人 | 日韩成人免费电影 | 欧美精品v国产精品 | 色婷婷狠狠干 | 免费在线播放黄色 | 亚洲电影影音先锋 | 中文字幕电影网 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 欧美日韩精品在线免费观看 | 亚洲精品网站 | 国产精品成人在线观看 | 久久99热精品 | 97夜夜澡人人双人人人喊 | 激情五月六月婷婷 | 国产精品一区二区三区在线 | 91av在线免费播放 | 国产精品第十页 | 国产麻豆成人传媒免费观看 | 天天艹天天操 | 草久视频在线观看 | 成人午夜剧场在线观看 | 91精品高清| 色婷婷亚洲婷婷 | 国产一级免费在线 | 狠狠狠狠狠狠干 | 亚洲欧洲国产日韩精品 | 午夜999| 黄色三级网站在线观看 | 久久理论电影 | 久久久久久久久免费视频 | 国产视频在线观看一区 | 中文字幕在线播放一区 | 日日婷婷夜日日天干 | 欧美日韩另类视频 | 深爱婷婷久久综合 | 夜夜视频资源 | 热久久视久久精品18亚洲精品 | 国产精品美女久久久久久网站 | 中文字幕高清 | 午夜在线观看 | 久久久精品网站 | 亚洲视频1 | 91精品系列 | 久久久国产精品成人免费 | 亚洲精品动漫成人3d无尽在线 | 精品a在线| 国产精品资源在线 | 成人精品视频久久久久 | 夜夜操天天干 | 欧美精品乱码久久久久久 | 五月婷影院 | 午夜精品久久久久久99热明星 | 日日夜夜天天干 | 精品亚洲国产视频 | 日韩精品久久久久久中文字幕8 | 国产午夜亚洲精品 | 欧美极品在线播放 | 日韩av免费在线电影 | 亚洲精品在线视频网站 | a v在线观看 | 亚洲久久视频 | 亚洲永久国产精品 | 色婷婷www | 精品毛片一区二区免费看 | 国产福利一区二区在线 | 在线观看深夜福利 | 国产资源在线免费观看 | 在线国产不卡 | 日日干,天天干 | 一级欧美日韩 | 亚洲精品在线观看网站 | 91成人在线观看喷潮 | 国内久久 | 99re中文字幕 | 国产网红在线观看 | 欧美精品久久久久久久免费 | 日韩精品免费一区二区三区 | 操操操操网 | 视频在线观看一区 | 久久久精品电影 | 久久国产免费视频 | 91精品国产乱码久久桃 | 欧美先锋影音 | 丰满少妇一级 | 国产一级在线看 | 国产黑丝一区二区 | 美女久久久久久久久久久 | 欧美亚洲另类在线视频 | 69国产精品成人在线播放 | 天天视频色 | 日韩精品久久久久久中文字幕8 | 91探花在线视频 | 欧美精品免费在线 | 成人av免费网站 | 久久狠狠干 | 又色又爽又黄 | 成年人黄色av| 中文字幕免费在线看 | 久久黄色免费观看 | 日韩av电影手机在线观看 | 久久情网 | 激情开心色 | 91精品国产成 | 99热这里精品 | www.久久免费视频 | 99国内精品 | 天堂麻豆 | 在线观看免费色 | 日韩欧美亚洲 | 国产亚洲欧美在线视频 | 久久不色| 亚洲国产精品人久久电影 | 免费观看久久久 | 国产一级一片免费播放放 | 国产福利精品在线观看 | 九九九九热精品免费视频点播观看 | 一区二区三区高清 | 国产又粗又长又硬免费视频 | 免费观看的黄色 | 在线观看亚洲专区 | 亚洲国产成人在线观看 | 国产一区二区午夜 | 一二三区在线 | 婷婷精品在线 | 国产免费一区二区三区最新 | 久久久国产精品久久久 | 天天操夜夜逼 | 欧美性受极品xxxx喷水 |