亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python正則表達式的簡單應用和示例演示

發布時間:2020-07-16 01:40:06 來源:網絡 閱讀:241 作者:pengdongcheng 欄目:編程語言

前一陣子小編給大家連續分享了十篇關于Python正則表達式基礎的文章,感興趣的小伙伴可以點擊鏈接進去查看。今天小編給大家分享的是Python正則表達式的簡單應用和示例演示,將前面學習的Python正則表達式做一個概括。

Python正則表達式的簡單應用和示例演示

下面的栗子是用于提取高考日期,一般來說,我們填寫日期都會寫2018年6月7日,但是也有很多人會寫成2018/6/7、2018-6-7、2018-06-07等,還有的人可能會寫為2018-06或者2018年6月。總之對日期的寫法五花八門,那么我們現在需要寫一個正則表達式來統一匹配這么多的情況,應該如何來處理呢?具體的教程如下所示。

Python正則表達式的簡單應用和示例演示


1、首先我們先寫個簡單的正則表達式,然后一步步經過測試,慢慢達到匹配的效果。

Python正則表達式的簡單應用和示例演示


這個正則表達式比較復雜,一下子可能看不懂,小編帶大家一層一層的進行理解。

2、我們從左到右對正則表達式進行分析,首先“.*”代表的是任意字符出現任意多次,對應原始字符中的“XXX”;“高考時間是”沒有什么特別的,就是對應原始字符串中的“高考時間是”。

3、接下來是“d{4}”代表的是連續出現4個數字,對應原始字符串中的年份“2018”;“[年/-]”表示取“年”、“/”、“-”中的任意一個字符,對應原始字符串中年份“2018”之后所連接的下一個字符。

4、繼續往后是“d{1,2}”代表的是連續出現1個到2個數字,對應原始字符串中的月份“6”或者“06”;“[月/-]”表示取“月”、“/”、“-”中的任意一個字符,對應原始字符串中月份“6”或者“06”之后所連接的下一個字符,同年份的理解如出一轍。

5、接下來就復雜一些了,其中“d{1,2}”的理解同月份的理解一致,關鍵是關于“日”的提取主要需要注意有的字符串有日期,有的字符串并沒有日期,所以需要特殊字符“|”來表示“或”的關系,并且用特殊字符“$”來表示結束。

6、理解了上述關系之后,接下來依次驗證六個原始字符串,看看是否能匹配成功。下圖是原始字符串string2的匹配情況。

Python正則表達式的簡單應用和示例演示


發現可以匹配得上。

7、下圖是原始字符串string3的匹配情況。

Python正則表達式的簡單應用和示例演示


發現可以匹配得上。

8、下圖是原始字符串string4的匹配情況。

Python正則表達式的簡單應用和示例演示


發現可以匹配得上。

9、下圖是原始字符串string5的匹配情況。

Python正則表達式的簡單應用和示例演示


發現這種模式并不能匹配上,這是什么原因呢?

10、原因是月份“d{1,2}”后面限定要跟“[月/-]”,而原始字符串string5的時間為“2018-06”,其后面沒有任何的字符就結束了,也匹配模式搭配不上,因此在這里需要改進一下。

Python正則表達式的簡單應用和示例演示


需要利用特殊字符“|”和特殊字符“$”,做一個“或”的選擇,如上圖所示,之后就可以匹配成功了。

當然也可以直接把“[月/-]”一起加入到第二個括號里,如下圖所示,這種方式更為簡便。

Python正則表達式的簡單應用和示例演示


11、下圖是原始字符串string6的匹配情況。

Python正則表達式的簡單應用和示例演示

可以看到此時可以成功匹配。

經過測試可以發現,此時改進后的字符串對6種不同日期的字符串都可以成功匹配。小伙伴們,有沒有感受到正則表達式的魔力呢?


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

磐安县| 老河口市| 临汾市| 九江市| 额济纳旗| 西青区| 枣强县| 盐池县| 黄龙县| 章丘市| 青龙| 湖南省| 关岭| 巍山| 友谊县| 芦溪县| 荥阳市| 彝良县| 鸡泽县| 天台县| 兴城市| 灵璧县| 和林格尔县| 清苑县| 杭州市| 通州区| 平利县| 阿克陶县| 清河县| 吉林市| 建德市| 万年县| 齐齐哈尔市| 建瓯市| 南开区| 班玛县| 濮阳市| 清涧县| 南京市| 余庆县| 沿河|