您好,登錄后才能下訂單哦!
首先跟大家簡單嘮叨兩句為什么要學習正則表達式,為什么在網絡爬蟲的時候離不開正則表達式。正則表達式在處理字符串的時候扮演著非常重要的角色,在網絡爬蟲的時候也十分常用,大家可以把它學的簡單一些,但是不能不學。
盡管網絡爬蟲相關庫給我們提供了豐富的庫如css、bs4、lxml等等,讓我們可以通過選擇器去匹配字符串,但是在HTML中數據往往存在標簽之中。通過選擇器確實可以匹配到標簽的內容,但是有時候標簽中存在的許多內容是冗余的,而我們只需要匹配其中部分內容即可(如匹配數字、時間等),如下圖所示。通過選擇器,我們一般可以獲取到“782好笑”這個字符串,但是我們只需要“782”這個數字的話,此時正則表達式就要派上用場了
正則表達式可以幫我們判斷某個字符串是否符合某一個模式,其次正則表達式可以幫我們提取某個字符串中的重要部分,做子字符串的提取。今天簡單的給大家講解幾個正則表達式的特殊字符—— “^”、“.”、“*”,并且用實例進行演示,讓大家對正則表達式有個初步的了解。
小編用的Python是3版本,開發環境用的是pycharm,首先在本地新建一個demo.py文件,接下來開始進行演示。
1、正則表達式在Python中有個專門的庫叫re模塊,首先進行導入模塊。再定義一個字符串str,然后定義一個正則表達式匹配規則regex。
2、“^d”代表的意思是以d元素開頭的任意一個字符串,也就是說只要是以d開頭的字符串,后面的元素不論是什么,都是符合規則的,總之必須要以d開頭。
3、“.” 較為常用,其代表的意思是任意字符,其表示的范圍非常廣,可以接任意字符,不論是中英文,還是下劃線之類的特殊字符,都是可以代表的。舉個栗子,正則表達式“^d.”就是代表以d開頭的字符串,b后邊接任意字符都可以。
4、“*” 也十分常用,其代表的意思是前面的字符可以重復任意多遍,可以是0次,1次,2次等任意多次。
5、了解好這幾個特殊字符的用法之后,接下來通過代碼簡單的感受一下。如下圖所示,如果匹配成功,則返回yes;如果沒有匹配成功,則不返回任何東西。
可以看到程序運行之后,返回的結果為yes,說明匹配成功。正則表達式“^d.*”代表的意思是以d開頭的字符串,后面跟著任意字符,出現任意多遍。顯然,通過匹配可以得知該正則表達式匹配的結果和原始字符串一致,之后if判斷返回值為true,所以打印出結果為yes。
6、為了進一步驗證這個模式是否正確,我們將b改為a,其代表的意思該模式下的字符串是否以a開頭的。之后再次運行程序,如下圖所示。
此時可以看到無任何輸出,說明特殊字符“^”起到了作用。
小伙伴們,快去打開Python,感受一下正則表達式的大法吧~~~
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。