中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

如何在Python中使用re模塊

發布時間:2021-03-17 17:22:14 來源:億速云 閱讀:199 作者:Leah 欄目:開發技術

這篇文章將為大家詳細講解有關如何在Python中使用re模塊,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

一.re模塊的查找方法:

  1.findall   匹配所有每一項都是列表中的一個元素

import re
ret = re.findall('\d+','asd魯班七號21313') # 正則表達式,待匹配的字符串,flag
# ret = re.findall('\d','asd魯班七號21313') # 正則表達式,待匹配的字符串,flag
# print(ret)

  2.search  只匹配從左到右的第一個,等到的不是直接的結果,而是一個變量,通過這個變量的group方法來獲取結果

import re
ret = re.search('\d+','asd魯班七號21313')
print(ret) # 內存地址,這是一個正則匹配的結果
print(ret.group()) # 通過ret.group()獲取真正的結果

    2.1如果沒有匹配到,會返回None,使用group會報錯

ret = re.search('\d+','asd魯班七號')
print(ret.group())

     2.2所以這個時候調用我要用一下格式

ret = re.search('\d+','asd魯班七號')
if ret:
   print(ret.group())

  3.match 從頭開始匹配,相當于search中的正則表達式加上^

ret = re.match('\d+','1233asd魯班七號21313')
print(ret)

 二.字符串處理擴展

   1.split--切割

s = 'luban|cheng|an|'
print(s.split('|'))
s = 'luban34cheng21an89'
print(re.split('\d+',s))

   2.sub--替換

ret = re.sub('\d+','H','luban34cheng21an89',1)
print(ret)

   3.subn 返回一個元祖,返回第二個元素是替換的次數

ret = re.subn('\d+','H','luban34cheng21an89')
print(ret)

 三.re模塊的進階

   1.compile 節省你使用正則表達式解決問題的時間,編譯正則表達式,編譯成字節碼,在多次使用的過程中,不會多次編譯

ret = re.compile('\d+') # 已經完成編譯
print(ret)
res = ret.findall('luban34cheng21an89')
print(res)
res = ret.search('1233asd魯班七號21313')
print(res.group())

   2.finditer 節省你使用正則表達式解決問題的空間

ret = re.finditer('\d+','1233asd魯班七號21313')
for i in ret:
  print(i.group())

 四.總結

findall   返回列表,找所有的匹配項
search    匹配就返回一個變量,通過group取匹配到的第一值,不匹配就返回None,group會報錯
match     相當于search的正則表達式中加了一個'^'

split     返回列表,按照正則規則切割,默認匹配到的內容會被切掉
sub/subn  替換,按照正則規則去尋找要被替換的內容,subn返回元祖,第二個值是替換的次數

compile   編譯一個正則表達式,用這個結果去search,match,fildall,finditer 能夠節省時間
finditer  返回一個迭代器,所有的結果都在這個迭代器中,需要通過循環+group的形式取值 能夠節省內存

關于如何在Python中使用re模塊就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

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

AI

长白| 南川市| 夏河县| 本溪市| 绥德县| 泸州市| 靖安县| 兴和县| 南充市| 永定县| 炉霍县| 白沙| 金寨县| 韶关市| 广西| 集贤县| 黑龙江省| 揭西县| 丁青县| 航空| 平陆县| 科尔| 兰州市| 沁源县| 突泉县| 高要市| 桓台县| 南开区| 远安县| 鄂伦春自治旗| 肃北| 四会市| 阳泉市| 湘阴县| 新竹市| 桃江县| 银川市| 公主岭市| 卢氏县| 大竹县| 隆林|