上一篇文章為:→5.1.7匹配分組
re模塊的高級用法
search
需求:匹配出文章閱讀的次數(shù)
#coding=utf-8
import re
ret = re.search(r"\d+", "閱讀次數(shù)為 9999")
ret.group()
運(yùn)行結(jié)果:
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é)果:
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é)果:
方法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é)果:
練習(xí)
從下面的字符串中取出文本
<div>
<p>崗位職責(zé):</p>
<p>完成推薦算法艘策、數(shù)據(jù)統(tǒng)計(jì)蹈胡、接口、后臺等服務(wù)器端相關(guān)工作</p>
<p><br></p>
<p>必備要求:</p>
<p>良好的自我驅(qū)動力和職業(yè)素養(yǎ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ù)庫開發(fā)設(shè)計(jì),掌握 SQL久又,熟練使用 MySQL/PostgreSQL 中的一種<br></p>
<p>4幻工、掌握NoSQL励两、MQ,熟練使用對應(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>
split 根據(jù)匹配進(jìn)行切割字符串窑眯,并返回一個列表
需求:切割字符串“info:xiaoZhang 33 shandong”
#coding=utf-8
import re
ret = re.split(r":| ","info:xiaoZhang 33 shandong")
print ret
運(yùn)行結(jié)果: