日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

re模塊的高級(jí)用法

search

需求:匹配出文章閱讀的次數(shù)

#coding=utf-8
import re
ret = re.search(r"d+", "閱讀次數(shù)為 9999")
ret.group()

運(yùn)行結(jié)果

'9999'

findall

需求:統(tǒng)計(jì)出Python、c、c++相應(yīng)文章閱讀的次數(shù)

#coding=utf-8
import re
ret = re.findall(r"d+", "python = 9999, c = 7890, c++ = 12345")
print(ret)

運(yùn)行結(jié)果:

['9999', '7890', '12345']

sub 將匹配到的數(shù)據(jù)進(jìn)行替換

需求:將匹配到的閱讀次數(shù)加1

方法1:

#coding=utf-8
import re
ret = re.sub(r"d+", '998', "python = 997")
print(ret)

運(yùn)行結(jié)果:

python = 998

方法2:

#coding=utf-8
import re
def add(temp):
 strNum = temp.group()
 num = int(strNum) + 1
 return str(num)
ret = re.sub(r"d+", add, "python = 997")
print(ret)
ret = re.sub(r"d+", add, "python = 99")
print(ret)

運(yùn)行結(jié)果:

python = 998
python = 100

練習(xí)

python正則表達(dá)式re模塊的高級(jí)用法

 

從下面的字符串中取出文本

<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 開發(fā)經(jīng)驗(yàn),掌握面向?qū)ο蠓治龊驮O(shè)計(jì),了解設(shè)計(jì)模式</p>
<p>2、掌握HTTP協(xié)議,熟悉MVC、MVVM等概念以及相關(guān)WEB開發(fā)框架</p>
<p>3、掌握關(guān)系數(shù)據(jù)庫(kù)開發(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>

參考答案:

re.sub(r"<[^>]*>| |n", "", test_str)

split 根據(jù)匹配進(jìn)行切割字符串,并返回一個(gè)列表

需求:切割字符串“info:xiaoZhang 33 shandong”

#coding=utf-8
import re
ret = re.split(r":| ","info:xiaoZhang 33 shandong")
print(ret)

運(yùn)行結(jié)果:

['info', 'xiaoZhang', '33', 'shandong']

python貪婪和非貪婪

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

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

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

>>> s="This is a number 234-235-22-423"
>>> r=re.match(".+(d+-d+-d+-d+)",s)
>>> r.group(1)
'4-235-22-423'
>>> r=re.match(".+?(d+-d+-d+-d+)",s)
>>> r.group(1)
'234-235-22-423'
>>>

正則表達(dá)式模式中使用到通配字,那它在從左到右的順序求值時(shí),會(huì)盡量“抓取”滿足匹配最長(zhǎng)字符串,在我們上面的例子里面,“.+”會(huì)從字符串的啟始處抓取滿足模式的最長(zhǎng)字符,其中包括我們想得到的第一個(gè)整型字段的中的大部分,“d+”只需一位字符就可以匹配,所以它匹配了數(shù)字“4”,而“.+”則匹配了從字符串起始到這個(gè)第一位數(shù)字4之前的所有字符。

解決方式:非貪婪操作符“?”,這個(gè)操作符可以用在"*","+","?"的后面,要求正則匹配的越少越好。

>>> re.match(r"aa(d+)","aa2343ddd").group(1)
'2343'
>>> re.match(r"aa(d+?)","aa2343ddd").group(1)
'2'
>>> re.match(r"aa(d+)ddd","aa2343ddd").group(1) 
'2343'
>>> re.match(r"aa(d+?)ddd","aa2343ddd").group(1)
'2343'
>>>

練一練

python正則表達(dá)式re模塊的高級(jí)用法

 

字符串為:

<img data-original="https://rpic.douyucdn.cn/AppCovers/2016/11/13/1213973_201611131917_small.jpg" src="https://rpic.douyucdn.cn/appCovers/2016/11/13/1213973_201611131917_small.jpg" style="display: inline;">

請(qǐng)?zhí)崛rl地址

參考答案

re.search(r"https://.*?.jpg", test_str)

r的作用

>>> mm = "c:\a\b\c"
>>> mm
'c:\a\b\c'
>>> print(mm)
c:abc
>>> re.match("c:\\",mm).group()
'c:\'
>>> ret = re.match("c:\\",mm).group()
>>> print(ret)
c:
>>> ret = re.match("c:\\a",mm).group()
>>> print(ret)
c:a
>>> ret = re.match(r"c:\a",mm).group()
>>> print(ret)
c:a
>>> ret = re.match(r"c:a",mm).group()
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
AttributeError: 'NoneType' object has no attribute 'group'
>>>

說明

Python中字符串前面加上 r 表示原生字符串,

與大多數(shù)編程語(yǔ)言相同,正則表達(dá)式里使用"“作為轉(zhuǎn)義字符,這就可能造成反斜杠困擾。假如你需要匹配文本中的字符”",那么使用編程語(yǔ)言表示的正則表達(dá)式里將需要4個(gè)反斜杠"":前兩個(gè)和后兩個(gè)分別用于在編程語(yǔ)言里轉(zhuǎn)義成反斜杠,轉(zhuǎn)換成兩個(gè)反斜杠后再在正則表達(dá)式里轉(zhuǎn)義成一個(gè)反斜杠。

Python里的原生字符串很好地解決了這個(gè)問題,有了原生字符串,你再也不用擔(dān)心是不是漏寫了反斜杠,寫出來的表達(dá)式也更直觀。

>>> ret = re.match(r"c:\a",mm).group()
>>> print(ret)
c:a

分享到:
標(biāo)簽:正則表達(dá)式
用戶無頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定