7.2 正則貪婪模式
阿新 • • 發佈:2018-07-02
ret 關系數據庫 clas mys script ima pri split cdn
#coding=utf-8 #2018-7-2 11:25:00 import re #寫一個郵箱正則 p = r"(\w+)@(163|126|gmail|qq)\.(com|cn|net)$" r = re.match(p,"[email protected]") print(r) b = r.group() print(b) # (?P<name>) 分組起名字 #(?P = name) 引用別名為name分組匹配到字符串 s = "<html><h1>itcast</h1></html>" c = re.match(r"<((?P<key1>).+)><(?P<key2>).+>.+</(?P=key2)></(?P=key1)>",s) print(c ) #用sub講匹配到的數據進行替換 ret = re.sub(r"\d+",‘988‘,‘python = 997‘) print(ret ) #split 根據匹配進行切割字符串,並返回一個列表 s = "itcast:php,python,cpp-java" a = re.split(r":|,|-",s) print(a) #python的貪婪模式 """ 三個引號之間部分python仍然可以讀取, 只是沒有運行,並且字符串保存格式 """ f = """ <div> <p>崗位職責:</p> <p>完成推薦算法、數據統計、接口、後臺等服務器端相關工作</p> <p><br></p> <p>必備要求:</p> <p>良好的自我驅動力和職業素養,工作積極主動、結果導向</p> <p> <br></p> <p>技術要求:</p> <p>1、一年以上 Python 開發經驗,掌握面向對象分析和設計,了解設計模式</p> <p>2、掌握HTTP協議,熟悉MVC、MVVM等概念以及相關WEB開發框架</p> <p>3、掌握關系數據庫開發設計,掌握 SQL,熟練使用 MySQL/PostgreSQL 中的一種<br></p> <p>4、掌握NoSQL、MQ,熟練使用對應技術解決方案</p> <p>5、熟悉 Javascript/CSS/HTML5,JQuery、React、Vue.js</p> <p> <br></p> <p>加分項:</p> <p>大數據,數理統計,機器學習,sklearn,高性能,大並發。</p> </div>""" r = re.sub(r"<.+>","",f) #非貪婪模式 print(r)
1 #方法有很多種,要多動腦筋!!! 2 3 #提取其中的url 4 url = """<img data-original="https://rpic.douyucdn.cn/appCovers/2016/11/13/1213973_201611131917_small.jpg" 5 src="https://rpic.douyucdn.cn/appCovers/2016/11/13/1213973_201611131917_small.jpg"> 6 """ 7 #當你拿到數據比較多,是因為貪婪模式在作怪8 search = re.search(r"https.+?\.jpg",url).group() 9 print(search) 10 11 #提取網站 http://www.interoem.com/ 12 url1 = "http://www.interoem.com/messageinfo.asp?id=35" 13 #逆向:正解的時候後面一串不好提取,前面好提取,. 14 #所以先把前面定義好,然後用個匿名函數,去第一部分就好了 15 r2 = re.sub(r"(http://.+?/).*",lambda x: x.group(1),url1) 16 print(r2) 17 18 word = "hello world ha ha" 19 #從分隔符的角度 20 print(re.split(r" +",word)) 21 #描述單詞特征的角度 22 print(re.findall(r"\b[a-zA-z]+\b",word))
7.2 正則貪婪模式