<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
定義一個函數,判斷 url 是否是一個正常的地址。
定義一個函數,只獲取 url 的域名部分
import re url_ture = "https://www.csdn.net/" url_false = "ftp://110.110.110.110:8080" def check_url(url): result = re.findall('[a-zA-z]{4,5}://w*.*w+.w+', url) if not len(result) == 0: return 'url 是一個合法的網站地址' else: return 'url 是一個不合法的網站地址' def get_url(url): result = re.findall('https://(w*.*w+.w+)', url) if not len(result) == 0: return result[0] else: return [] if __name__ == '__main__': result_true = check_url(url_ture) print(result_true) result_false = check_url(url_false) print(result_false) result_url_01 = check_url("http://csdn.com") print(result_url_01) result_url_02 = check_url("https://www.csdn.com") print(result_url_02) get_url_true = get_url(url_ture) print(get_url_true) get_url_false = get_url(url_false) print(get_url_false)
執行結果如下:
定義一個函數,獲取郵箱的地址。
import re email = "Neo@protonmail.com" def get_email(email): # result = re.findall('[0-9a-zA-Z]+@[0-9a-zA-Z]+.[a-zA-Z]+', email) # 這樣寫比較複雜,可以使用萬用字元 result = re.findall('.+@.+.[a-zA-Z]', email) return result if __name__ == '__main__': get_email = get_email(email) print(get_email) # >>> 執行結果如下: # >>> ['Neo@protonmail.com']
接下來做一個稍微複雜一些的練習:
定義一個函數,獲取一段前端程式碼中雙引號包裹的內容。
定義一個函數,獲取該段前端程式碼中所有的雙引號包裹的內容
import re html = ('<div class="s-top-nav" style="display:none;">' '</div><div class="s-center-box"></div>') # 這是前端程式碼,暫時不用理解是什麼意思 def get_html_data(html): re_g = re.compile('style="(.*?)"') # 非貪婪模式獲取 style 標籤的內容 result = re_g.findall(html) return result def get_all_data_html(html): re_g = re.compile('="(.+?)"') result = re_g.findall(html) return result if __name__ == '__main__': get_html_data = get_html_data(html) print(get_html_data) get_all_data_html = get_all_data_html(html) print(get_all_data_html) # >>> 執行結果如下: # >>> ['display:none;'] # >>> ['s-top-nav', 'display:none;', 's-center-box']
通過獲取前端程式碼標籤內容的例子,我們可以看出,只要找到字串的規律,通過這些規律去定義正則匹配的規則就可以拿到想要的資訊。
OK,今天的練習就到這裡了。正規表示式最最核心最最重要的就是匹配的相關操作, findall 與 search 函數就是常用的兩個函數,以及其它函數的匹配規律都是完全相同的,只不過它們返回的值會存在著不同,或者說這些函數的使用場景存在著一定的區別,但是返回的結果幾乎都是相同的。
到此這篇關於Python正規表示式的小練習分享的文章就介紹到這了,更多相關Python正規表示式練習內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45