欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python正則表達式常見的知識點匯總

 更新時間:2022年05月19日 11:26:22   作者:Begin?to?change  
正則表達式提供了一些可用的匹配模式,比如忽略大小寫、多行匹配等,下面這篇文章主要給大家介紹了關(guān)于python正則表達式常見的知識點,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下

一、介紹

正則表達式是一個特殊的字符序列,計算機科學的一個概念。通常被用來檢索、替換那些符合某個模式(規(guī)則)的文本。

許多程序設計語言都支持利用正則表達式進行字符串操作。在Python中需要通過正則表達式對字符串進行匹配的時候,可以使用re模塊。re 模塊使 Python 語言擁有全部的正則表達式功能。

二、查找方法的使用

1、match方法(只匹配字符串開頭)

re.match嘗試從字符串的起始位置匹配一個模式,如果不是起始位置匹配成功的話,match()就返回none。如果匹配成功,返回的是一個Match對象,要想獲得其值要調(diào)用group()方法

group(0)返回的是整個匹配的所有內(nèi)容(默認為0)

函數(shù)語法:

re.match(pattern,string,flags=0)

2、search方法(掃描整個字符串,找到第一個匹配)

 re.search 掃描整個字符串并返回第一個成功的匹配。

函數(shù)語法:

re.search(pattern, string, flags=0)

3、re.match與re.search的區(qū)別

 re.match只匹配字符串的開始,如果字符串開始不符合正則表達式,則匹配失敗,函數(shù)返回None;而re.search匹配整個字符串,直到找到一個匹配。

4、findall方法(掃描整個字符串,找到所有的匹配)

在字符串中找到正則表達式所匹配的所有子串,并返回一個列表,如果沒有找到匹配的,則返回空列表。

注意: match 和 search 是匹配一次 findall 匹配所有。

語法格式:

re.findall(pattern,string,flags=0)

示例: 

5、finditer方法(掃描整個字符串,找到所有的匹配,并返回一個可迭代對象)

和 findall 類似,在字符串中找到正則表達式所匹配的所有子串,并把它們作為一個迭代器返回

ret = re.finditer(r'\d+','he23ll34')  # 得到的結(jié)果是一個可迭代對象
for x in ret: # 遍歷 ret 取出里面的每一項匹配
    print(x.group(), x.span()) # 匹配對象里的group保存了匹配的結(jié)果

三、re.Match類介紹

當我們調(diào)用re.match方法、re.search方法,或者對re.finditer方法的結(jié)果進行迭代時,拿到的數(shù)據(jù)類型都是re.Match對象。

四、正則表達式模式 

1、非打印字符

 2、特殊字符

 3、定位符

4、限定符

五、替換

語法:

re.sub(pattern,repl,string,count=0)

六、貪婪模式和非貪婪模式 

Python里數(shù)量詞默認是貪婪的(在少數(shù)語言里也可能是默認非貪婪),總是嘗試匹配盡可能多的字符;

非貪婪則相反,總是嘗試匹配盡可能少的字符。

*,?,+,{m,n}后面加上 ?使貪婪變成非貪婪。

七、示例 

1、匹配用戶名

用戶名匹配:由數(shù)字、大小寫字母、下劃線_和中橫線-組成,長度為4到14位,并且不能以數(shù)字開頭。

^在括號外就是開頭,在括號里就是取反

\D匹配一個非數(shù)字字符,等價于[^0-9]

[a-z0-9A-Z_\-]{3,13}表示可取范圍為a-z的小寫字母和數(shù)字0-9以及下劃線中橫線都可以,寫在中括號里面的是與的關(guān)系,最后的大括號代表的是其匹配長度為[3-13](左閉右閉)(因為開頭已經(jīng)有一位是確定的了,所以后面的長度為[3-13])

r'^\D[a-z0-9A-Z_\-]{3,13}', 'sH_8'

2、匹配手機號

根據(jù)手機號的規(guī)則,對手機號前三位的格式進行了限制,因為有幾種格式都可以,條件之間的關(guān)系為或,正則表達式中用|表示

r'^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0,5-9]))\d{8}$'

3、匹配0~99之間的數(shù)字

開頭是【1-9】中的一個數(shù),個數(shù)為0或者1均可

后面的是【0-9】中的一個數(shù),個數(shù)為0或者1

r'^[1-9]?[0-9]?$'

總結(jié)

到此這篇關(guān)于python正則表達式常見知識點的文章就介紹到這了,更多相關(guān)python正則表達式知識點內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python多進程控制學習小結(jié)

    python多進程控制學習小結(jié)

    這篇文章主要介紹了python多進程控制學習小結(jié),想要充分利用多核CPU資源,Python中大部分情況下都需要使用多進程,Python中提供了multiprocessing這個包實現(xiàn)多進程。感興趣的小伙伴們可以參考一下
    2018-10-10
  • Python ADF 單位根檢驗 如何查看結(jié)果的實現(xiàn)

    Python ADF 單位根檢驗 如何查看結(jié)果的實現(xiàn)

    這篇文章主要介紹了Python ADF 單位根檢驗 如何查看結(jié)果的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Python matplotlib實現(xiàn)多重圖的繪制

    Python matplotlib實現(xiàn)多重圖的繪制

    Matplotlib作為Python的2D繪圖庫,它以各種硬拷貝格式和跨平臺的交互式環(huán)境生成出版質(zhì)量級別的圖形。本文將利用Matplotlib庫繪制多重圖,感興趣的可以了解一下
    2022-03-03
  • python實現(xiàn)批量修改服務器密碼的方法

    python實現(xiàn)批量修改服務器密碼的方法

    這篇文章主要介紹了python實現(xiàn)批量修改服務器密碼的方法,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2019-08-08
  • python實現(xiàn)Flappy Bird源碼

    python實現(xiàn)Flappy Bird源碼

    這篇文章主要為大家詳細介紹了python實現(xiàn)Flappy Bird源碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • python爬蟲破解字體加密案例詳解

    python爬蟲破解字體加密案例詳解

    這篇文章主要介紹了python爬蟲破解字體加密案例詳解,本文通過圖文實例相結(jié)合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • python使用tensorflow深度學習識別驗證碼

    python使用tensorflow深度學習識別驗證碼

    這篇文章主要介紹了python使用tensorflow深度學習識別驗證碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • Python實現(xiàn)的徑向基(RBF)神經(jīng)網(wǎng)絡示例

    Python實現(xiàn)的徑向基(RBF)神經(jīng)網(wǎng)絡示例

    這篇文章主要介紹了Python實現(xiàn)的徑向基(RBF)神經(jīng)網(wǎng)絡,結(jié)合完整實例形式分析了Python徑向基(RBF)神經(jīng)網(wǎng)絡定義與實現(xiàn)技巧,需要的朋友可以參考下
    2018-02-02
  • python3利用ctypes傳入一個字符串類型的列表方法

    python3利用ctypes傳入一個字符串類型的列表方法

    今天小編就為大家分享一篇python3利用ctypes傳入一個字符串類型的列表方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • Python?OpenCV超詳細講解圖像堆疊的實現(xiàn)

    Python?OpenCV超詳細講解圖像堆疊的實現(xiàn)

    OpenCV用C++語言編寫,它具有C ++,Python,Java和MATLAB接口,并支持Windows,Linux,Android和Mac OS,OpenCV主要傾向于實時視覺應用,并在可用時利用MMX和SSE指令,本篇文章帶你通過OpenCV實現(xiàn)圖像堆疊
    2022-04-04

最新評論