最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python正則表達(dá)式學(xué)習(xí)小例子

 更新時(shí)間:2020年03月03日 22:27:46   作者:有點(diǎn)意思  
這篇文章主要介紹了Python正則表達(dá)式學(xué)習(xí)小例子,學(xué)習(xí)python的朋友可以參考一下

正則表達(dá)式是處理字符串的強(qiáng)大工具。作為一個(gè)概念而言,正則表達(dá)式對(duì)于Python來(lái)說(shuō)并不是獨(dú)有的。但是,Python中的正則表達(dá)式在實(shí)際使用過(guò)程中還是有一些細(xì)小的差別。

(1)匹配1-100之間的數(shù)

import re 
 
s = '100'  # 1-100內(nèi)的任意數(shù)字
ret = re.match(r'(100|[1-9]\d{0,1})$',s)
print(ret.group())

(100|[1-9]\d{0,1})$

100可以匹配100 | 或者匹配[1-9]中的一個(gè)數(shù),然后后面\d是數(shù)字,后面的{0,1}匹配最多一個(gè)數(shù)字或沒(méi)有數(shù)字

[1-9]\d意思是只能是前面是1-9的任意數(shù)字主要是不包括0,否則01是不允許,后面是任意包括0。

(2)匹配座機(jī)號(hào)碼

010-67132692,其構(gòu)造規(guī)則為[3位數(shù)字][-][8位數(shù)字]

或者

0516-8978981,其構(gòu)造規(guī)則為[4位數(shù)字][-][7位數(shù)字]

import re 
 
s = "010-67132692"
ret = re.search(r'^\d{3,4}-\d{7,8}$' , s)
print(ret.group())

注意:print(ret.group(0)) 一樣的效果,python默認(rèn)可以0,不用()也可以獲取,一般php與js中都是\1開(kāi)始

(3)對(duì)輸入的qq號(hào)進(jìn)行匹配(qq匹配規(guī)則:長(zhǎng)度為5-10位,純數(shù)字組成,且不能以0開(kāi)頭。)

import re 
 
s = "1101111123"
ret = re.match(r'[1-9]\d{4,9}$' , s)
if ret != None:
  print(ret.group())
else :
  print('匹配失敗!')

(4)查找字符串中有多少個(gè)af

import re 
s = "asdfjvjadsffvaadfkfasaffdsasdffadsafafsafdadsfaafd"
 
ret = re.findall(r'(af)' , s)
print(len(ret))

(5)規(guī)則是按照空格出現(xiàn)一次或者多次切割

import re 
 
s = "zhangsan  lisi wangwu"
res = re.compile(r'\s+')
ret = res.split(s)
print(ret)

效果圖:

(6)用正則\\切割

import re 
 
s = "c:\\abc\\a.txt"
res = re.compile(r'\\')
ret = res.split(s)
print(ret)

效果圖:

(7)將連續(xù)5個(gè)以上數(shù)字替換成#

import re 
 
s = "wer8934605juo123wa89320571f"
res = re.compile(r'\d{5,}')
ret = res.sub('#' , s)
print(ret)

效果圖:

(8)取出字符串中的所有字母

import re 
 
s = "abDEe23dJfd343dPOddfe4CdD5ccv!23rr"
res = re.compile(r'[a-zA-Z]+')
ret = res.findall(s)
print(ret)

效果圖:

(9)找出以字母e結(jié)尾的單詞,忽略大小寫(xiě)

import re 
 
s = 'THREE people at HERE do some THING'
res = re.compile(r'\w+e\b' , re.I)  #\b為邊界
ret = res.findall(s)
print(ret)

效果圖:

(10)將多個(gè)重復(fù)字母替換成&

import re 
 
s = "cudddbhuuujdddcaa"
res = re.compile(r'([a-zA-Z])\1+')
ret = res.sub('&' , s)
print(ret)

效果圖:

(11)將多個(gè)重復(fù)字母替換成一個(gè)字母(比如ddd替換成d)

import re 
 
s = "cudddbhuuujddd"
res = re.compile(r'([a-zA-Z])\1+')
ret = res.sub(r'\1',s)
print(ret)

效果圖:

(12)獲取長(zhǎng)度為3個(gè)字母的單詞

import re 
 
s = "min tian jiu yao fang jia le ,da jia"
ret = re.findall(r'\b\w{3}\b' , s)
print(ret)

效果圖:

(13)將字符串變成 '我要學(xué)編程'

import re
s = "我我...我我...我要..要要...要要...學(xué)學(xué)學(xué)...學(xué)學(xué)...編編編..編程..程.程...程...程"
res = re.sub(r'\W+','', s)
ret = re.sub(r'(.)\1+',r'\1',res)   
print(ret)

效果圖:

(14)去掉div和b標(biāo)簽

結(jié)果:正則<span>表達(dá)式</span>練習(xí)

import re 
 
s = "<div class='a'>正則<span>表達(dá)式</span><b style='color:red'>練習(xí)</b></div>"
ret = re.sub(r'(</?div.*?>|</?b.*?>)','',s) 
print(ret)

效果圖:

(15)找出每行中只有3個(gè)數(shù)字的字符串

import re 
 
s = '''121fefe
3qsqse2
ded6d32
aaaaa1a
1234adc
'''
ret = re.findall(r'^\D*\d\D*\d\D*\d\D*$' , s ,re.M)
print(ret)

效果圖:

 以下是補(bǔ)充

收集一些常用的python正則練習(xí)

# 匹配出0-99之間的數(shù)字
print("---匹配出0-99之間的數(shù)字---")
ret = re.match(r"^[1-9]?[0-9]$","77")
print(ret.group())
 
# 8到20位的密碼,可以是⼤⼩寫(xiě)英⽂字⺟、數(shù)字、下劃線
print("---,8到20位的密碼,可以是⼤⼩寫(xiě)英⽂字⺟、數(shù)字、下劃線---")
ret = re.match("[\w_]{8,20}","1123dasf1")
print(ret.group())
 
# 匹配出163的郵箱地址,且@符號(hào)之前有4到 20位,例如hello@163.com
print("---匹配出163的郵箱地址,且@符號(hào)之前有4到 20位,例如hello@163.com---")
ret = re.match("[\w_]{4,20}@163\.com","evan_qb@163.com")
print(ret.group())
 
print("---b---")
ret = re.match(r".*\b163\b","evan_qb@163.com")
print(ret.group())
 
# 匹配1-100之間的數(shù)
print("---匹配1-100之間的數(shù)---")
ret = re.match("[1-9]?\d$|100","100")
print(ret.group())
 
# 匹配163、126、qq郵箱
print("---匹配163、126、qq郵箱---")
ret = re.match("[\w_]{4,20}@(163|126|qq)\.com","123342@126.com")
print(ret.group())
 
# 匹配<html>hello world</html>
print("---匹配<html>hello world</html>---")
ret = re.match(r"<([a-zA-Z]*)>.*</\1>","<html>hello world</html>")
print(ret.group())
 
# 第一種:匹配出<html><h1>www.itcast.cn</h1></html>
print("---第一種:匹配出<html><h1>www.qblank.cn</h1></html>---")
ret = re.match(r"<(\w*)><(\w*)>.*</\2></\1>","<html><h1>www.itcast.cn</h1></html>")
print(ret.group())
 
# 第二種: 匹配出<html><h1>www.qblank.cn</h1></html>
print("---第二種: 匹配出<html><h1>www.qblank.cn</h1></html>")
ret = re.match("<(?P<name1>\w*)><(?P<name2>\w*)>.*</(?P=name2)></(?P=name1)>","<html><h1>www.qblank.cn</h1></html>")
print(ret.group())
 
# ******re模塊的高級(jí)用法*****
# 使用search匹配文章的閱讀的次數(shù)
print("---匹配文章的閱讀的次數(shù)---")
ret = re.search(r"\d+","閱讀次數(shù)為 9999")
print(ret.group())
 
# 統(tǒng)計(jì)出python、c、c++相應(yīng)⽂章閱讀的次數(shù)
print("---統(tǒng)計(jì)出python、c、c++相應(yīng)⽂章閱讀的次數(shù)---")
ret = re.findall(r"\d+","python = 2342,c = 7980,java = 9999")
print(ret)
 
# 將匹配到的閱讀次數(shù)加1
print("---將匹配到的閱讀次數(shù)加1---")
ret = re.sub(r"\d+","999","python = 997")
print(ret)
 
# <div>
#  <p>崗位職責(zé):</p>
#  <p>完成推薦算法、數(shù)據(jù)統(tǒng)計(jì)、接⼝、后臺(tái)等服務(wù)器端相關(guān)⼯作</p>
#  <p><br></p> <p>必備要求:</p> <p>良好的⾃我驅(qū)動(dòng)⼒和職業(yè)素養(yǎng),⼯作積極主動(dòng)、結(jié)果導(dǎo)向</p>
#  <p> <br></p> <p>技術(shù)要求:</p>
#  <p>1、⼀年以上	Python	開(kāi)發(fā)經(jīng)驗(yàn),掌握⾯向?qū)ο蠓治龊驮O(shè)計(jì),了解設(shè)計(jì)模式</p >
#  <p>2、掌握HTTP協(xié)議,熟悉MVC、MVVM等概念以及相關(guān)WEB開(kāi)發(fā)框架</p>
#  <p>3、掌握關(guān)系數(shù)據(jù)庫(kù)開(kāi)發(fā)設(shè)計(jì),掌握	SQL,熟練使⽤	MySQL/PostgreSQL	中 的⼀種<br></p>
#  <p>4、掌握NoSQL、MQ,熟練使⽤對(duì)應(yīng)技術(shù)解決⽅案</p>
#  <p>5、熟悉	Javascript/CSS/HTML5,JQuery、React、Vue.js</p>
#  <p> <br></p> <p>加分項(xiàng):</p>
#  <p>⼤數(shù)據(jù),數(shù)理統(tǒng)計(jì),機(jī)器學(xué)習(xí),sklearn,⾼性能,⼤并發(fā)。</p>
# </div>
data = """
<div>
  <p>崗位職責(zé):</p>
  <p>完成推薦算法、數(shù)據(jù)統(tǒng)計(jì)、接⼝、后臺(tái)等服務(wù)器端相關(guān)⼯作</p>
  <p><br></p> <p>必備要求:</p> <p>良好的⾃我驅(qū)動(dòng)⼒和職業(yè)素養(yǎng),⼯作積極主動(dòng)、結(jié)果導(dǎo)向</p>  <p> <br></p> <p>技術(shù)要求:</p>
  <p>1、⼀年以上	Python	開(kāi)發(fā)經(jīng)驗(yàn),掌握⾯向?qū)ο蠓治龊驮O(shè)計(jì),了解設(shè)計(jì)模式</p >
  <p>2、掌握HTTP協(xié)議,熟悉MVC、MVVM等概念以及相關(guān)WEB開(kāi)發(fā)框架</p>
  <p>3、掌握關(guān)系數(shù)據(jù)庫(kù)開(kāi)發(fā)設(shè)計(jì),掌握	SQL,熟練使⽤	MySQL/PostgreSQL	中 的⼀種<br></p>
  <p>4、掌握NoSQL、MQ,熟練使⽤對(duì)應(yīng)技術(shù)解決⽅案</p>
  <p>5、熟悉	Javascript/CSS/HTML5,JQuery、React、Vue.js</p>
  <p> <br></p> <p>加分項(xiàng):</p>
  <p>⼤數(shù)據(jù),數(shù)理統(tǒng)計(jì),機(jī)器學(xué)習(xí),sklearn,⾼性能,⼤并發(fā)。</p>
</div>
"""
print("---爬取就業(yè)信息網(wǎng)址---")
# 方法一:關(guān)閉貪婪模式
print("---方法一---")
ret = re.sub(r"<.+?>","",data)
print(ret)
# 方法二:
print("---方法二---")
ret = re.sub(r"</?\w+>","",data)
print(ret)
 
# 切割字符串“info:xiaoZhang	33	shandong”
print("---切割字符串“info:xiaoZhang	33	shandong”---")
ret = re.split(r":|","切割字符串info:xiaoZhang	33	shandong")
print(ret)
 
# This	is	a	number	234-235-22-423
data = "This	is	a	number	234-235-22-423"
print("---貪婪和非貪婪---")
# 貪婪
ret = re.match(".+(\d+-\d+-\d+-\d+)",data)
print(ret.group(1))
# 非貪婪
ret = re.match(".+?(\d+-\d+-\d+-\d+)",data)
print(ret.group(1))
 
 
# 提取圖片的url
data = """
  <img data-original="https://rpic.douyucdn.cn/appCovers/2016/1
  1/13/1213973_201611131917_small.jpg"	
  src="https://rpic.douyuc dn.cn/appCovers/2016/11/13/1213973_201611131917_small.jpg"
  style="display:inline;">
"""
print("---提取圖片的url")
ret = re.search(r"https.+?\.jpg",data)
print(ret.group())
 
data = """
  http://www.interoem.com/messageinfo.asp?id=35 
  http://3995503.com/class/class09/news_show.asp?id=14 
  http://lib.wzmc.edu.cn/news/onews.asp?id=769 
  http://www.zy-ls.com/alfx.asp?newsid=377&id=6 
  http://www.fincm.com/newslist.asp?id=415
"""
# 去掉后綴
print("---去掉后綴---")
ret = re.sub(r"(http://.+?/).*", lambda x: x.group(1),data)
print(ret)
 
# 找出所有單詞
data = "hello	world	ha	ha"
print("---找出所有單詞---")
print("--方法一--")
ret = re.split(r" +",data)
print(ret)
print("--方法二--")
ret = re.findall(r"\b[a-zA-Z]+\b",data)
print(ret)

到此這篇關(guān)于Python正則表達(dá)式學(xué)習(xí)小例子的文章就介紹到這了,更多相關(guān)Python正則學(xué)習(xí)例子內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python中使用paramiko模塊并實(shí)現(xiàn)遠(yuǎn)程連接服務(wù)器執(zhí)行上傳下載功能

    python中使用paramiko模塊并實(shí)現(xiàn)遠(yuǎn)程連接服務(wù)器執(zhí)行上傳下載功能

    paramiko是用python語(yǔ)言寫(xiě)的一個(gè)模塊,遵循SSH2協(xié)議,支持以加密和認(rèn)證的方式,進(jìn)行遠(yuǎn)程服務(wù)器的連接。這篇文章主要介紹了python中使用paramiko模塊并實(shí)現(xiàn)遠(yuǎn)程連接服務(wù)器執(zhí)行上傳下載功能,需要的朋友可以參考下
    2020-02-02
  • 梳理總結(jié)Python開(kāi)發(fā)中需要摒棄的18個(gè)壞習(xí)慣

    梳理總結(jié)Python開(kāi)發(fā)中需要摒棄的18個(gè)壞習(xí)慣

    大家好,今天給大家分享 18 個(gè) Python 初學(xué)者常有的壞習(xí)慣,這些壞習(xí)慣不僅影響 Python 代碼的可讀性,而且 影響 Python 的運(yùn)行性能,摒棄這些壞習(xí)慣并以 Pythonic 的方式編寫(xiě)代碼,提高的不僅僅是你的代碼質(zhì)量,也給閱讀代碼的人留下好印象
    2022-01-01
  • Python實(shí)現(xiàn)斐波那契數(shù)列的示例代碼

    Python實(shí)現(xiàn)斐波那契數(shù)列的示例代碼

    斐波那契數(shù)列是一種經(jīng)典的數(shù)學(xué)問(wèn)題,在計(jì)算機(jī)科學(xué)和編程中經(jīng)常被用來(lái)演示算法和遞歸的概念,本文將詳細(xì)介紹斐波那契數(shù)列的定義、計(jì)算方法以及如何在Python中實(shí)現(xiàn)它,需要的可以參考下
    2024-01-01
  • python分析nignx訪問(wèn)日志腳本分享

    python分析nignx訪問(wèn)日志腳本分享

    這篇文章主要介紹了python分析nignx訪問(wèn)日志腳本分享,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2015-02-02
  • Windows環(huán)境下如何使用Pycharm運(yùn)行sh文件

    Windows環(huán)境下如何使用Pycharm運(yùn)行sh文件

    這篇文章主要介紹了Windows環(huán)境下如何使用Pycharm運(yùn)行sh文件,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-02-02
  • Python標(biāo)準(zhǔn)庫(kù)之urllib和urllib3的使用及說(shuō)明

    Python標(biāo)準(zhǔn)庫(kù)之urllib和urllib3的使用及說(shuō)明

    這篇文章主要介紹了Python標(biāo)準(zhǔn)庫(kù)之urllib和urllib3使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Python錯(cuò)誤+異常+模塊總結(jié)

    Python錯(cuò)誤+異常+模塊總結(jié)

    這篇文章主要介紹了Python錯(cuò)誤+異常+模塊總結(jié),在編程時(shí)遇見(jiàn)錯(cuò)誤信息在所難免,Python中會(huì)也有很多種錯(cuò)誤信息,常見(jiàn)的兩種就是語(yǔ)法錯(cuò)誤和邏輯錯(cuò)誤,下文我們就來(lái)總結(jié)一下那些常見(jiàn)的異常,需要的小伙伴可以參考一下
    2022-05-05
  • Python3.2中Print函數(shù)用法實(shí)例詳解

    Python3.2中Print函數(shù)用法實(shí)例詳解

    這篇文章主要介紹了Python3.2中Print函數(shù)用法,以實(shí)例形式較為詳細(xì)的分析了Python3.2中Print函數(shù)輸出的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-05-05
  • python實(shí)現(xiàn)跨文件全局變量的方法

    python實(shí)現(xiàn)跨文件全局變量的方法

    這篇文章主要介紹了python實(shí)現(xiàn)跨文件全局變量的方法,需要的朋友可以參考下
    2014-07-07
  • Python實(shí)現(xiàn)FTP文件定時(shí)自動(dòng)下載的步驟

    Python實(shí)現(xiàn)FTP文件定時(shí)自動(dòng)下載的步驟

    這篇文章主要介紹了Python實(shí)現(xiàn)FTP文件定時(shí)自動(dòng)下載的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12

最新評(píng)論

泽州县| 龙海市| 彰化县| 三明市| 咸阳市| 盐边县| 三河市| 小金县| 柘荣县| 沈阳市| 涟源市| 合山市| 庄浪县| 凭祥市| 黄石市| 九龙县| 金湖县| 山西省| 上蔡县| 浏阳市| 甘泉县| 临洮县| 邛崃市| 孝义市| 定远县| 四平市| 景洪市| 嘉禾县| 电白县| 北票市| 丹巴县| 平昌县| 金门县| 远安县| 宜君县| 保山市| 明星| 石林| 肥东县| 巴南区| 伊吾县|