91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python正則表達式的案例分析

發布時間:2020-11-20 12:46:10 來源:億速云 閱讀:312 作者:小新 欄目:編程語言

這篇文章主要介紹了Python正則表達式的案例分析,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

我們能夠使用urllib向網頁請求并獲取其網頁數據。但是抓取信息數據量比較大,我們可能需要其中一小部分數據。對付剛才的難題,就需要正則表達式出馬了。

re 模塊

Python 自1.5版本起通過新增 re (Regular Expression 正則表達式)模塊來提供對正則表達式的支持。使用 re 模塊先將正則表達式填充到 Pattern 對象中,再把 Pattern 對象作為參數使用 match 方法去匹配的字符串文本。match 方法會返回一個 Match 對象,再通過 Match 對象會得到我們的信息并進行操作。下面介紹幾個 re 常用的函數。

compile 函數

compile 是把正則表達式的模式和標識轉化成正則表達式對象,供 match() 和 search() 這兩個函數使用。它的函數語法如下:

re.compile(pattern[, flags])

第一個參數是pattern,指的正則表達式。

第二個參數flags是匹配模式,是個可選參數。可以使用按位或'|'表示同時生效,也可以在正則表達式字符串中指定。匹配模式有以下幾種:

Python正則表達式的案例分析

該方法返回的結果是一個 Pattern 對象。

match 函數

match()函數只在字符串的開始位置嘗試匹配正則表達式,也就是說只有在 0 位置匹配成功的話才有返回。如果不是開始位置匹配成功的話,match() 就返回 none。它的函數語法如下:

re.match(pattern, string[, flags])

第一個參數:匹配的正則表達式

第二個參數:要被匹配的字符串

flags 是可選參數,跟 compile 用法相似

匹配成功 re.match 方法返回一個匹配的對象,否則返回None。要想獲得匹配結果,既可以使用groups()函數獲取一個包含所有字符串的元組(從 1 到 所含的小組號),也可以使用group(組號)函數獲取某個組號的字符串。

match 函數用法的示例代碼:

import re

pattern = re.compile('Python')
text = 'Python python pythonn'
match = re.search(pattern, text)
if match:
    print(match.group())
else:
    print('沒有匹配')

search 函數

search() 函數是掃描整個字符串來查找匹配,它返回結果是第一個成功匹配的字符串。

re.search(pattern, string[, flags])

參數用法以及返回結果跟match函數用法相同。

search 函數用法的示例代碼:

import re

pattern = re.compile('Python')
text = 'welcome to Python world!'
match = re.search(pattern, text)
if match:
    print(match.group())
else:
    print('沒有匹配')

 findall 函數

findall函數在字符串中搜索子串,并以列表形式返回全部能匹配的所有子串。

re.findall(pattern, string[, flags])

參數用法以及返回結果跟match函數用法相同。

findall 函數用法的示例代碼:

import re

pattern = re.compile('\d+')
text = 'one1two2three3four4'
list = re.findall(pattern, text)
if list:
    print(list)
else:
    print('沒有匹配')

感謝你能夠認真閱讀完這篇文章,希望小編分享Python正則表達式的案例分析內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

灵石县| 化州市| 宝山区| 阳西县| 那曲县| 和龙市| 通州区| 融水| 德格县| 舟山市| 克拉玛依市| 界首市| 博乐市| 富蕴县| 遂溪县| 吉木萨尔县| 台江县| 聂拉木县| 布尔津县| 天长市| 苏州市| 英德市| 滨州市| 仲巴县| 清涧县| 丽水市| 任丘市| 来凤县| 安福县| 平湖市| 舞钢市| 涿州市| 都匀市| 辉县市| 道孚县| 太原市| 安乡县| 荣成市| 永靖县| 彭泽县| 三台县|