黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

第11.22節 Python 中re模塊的字符串分割器:split函數

系統 1992 0

一、 引言
在《第11.2節 Python 正則表達式支持函數概覽》介紹了re模塊的主要函數,在《第11.3節 Python正則表達式搜索支持函數search、match、fullmatch、findall、finditer》重點介紹了幾個搜索函數,后續章節將介紹re模塊的其他函數,本節先介紹re.split函數的功能。

二、 語法釋義

  1. 調用語法:
    re.split(pattern, string, maxsplit=0, flags=0)
  2. 參數及返回結果釋義:
    1)這個函數的功能與字符串的split方法有些類似,只是字符串內split是固定分隔符,而這是用 正則表達式來分開 string,分開的字符存放在返回的列表元素內。
    2)如果在 pattern 對應正則表達式中存在元字符“()”,且能匹配到搜索文本,那么每個匹配組里的字符也會按順序包含在列表的單獨元素里。
    3)如果 maxsplit 非零, 最多進行 maxsplit 次分隔, 剩下的字符全部返回到列表的最后一個元素。
  3. 注意:如果在string的結尾或開頭能匹配pattern,則會在返回列表的最后一個元素或第一個元素是空字符串。

三、 案例

            
              >>> re.split('\W+','Learning Python with LaoYuan,LaoYuanPython accompanies you to progress!')
['Learning', 'Python', 'with', 'LaoYuan', 'LaoYuanPython', 'accompanies', 'you', 'to', 'progress', '']
>>> re.split('(\W+)','Learning Python with LaoYuan,LaoYuanPython accompanies you to progress!')
['Learning', ' ', 'Python', ' ', 'with', ' ', 'LaoYuan', ',', 'LaoYuanPython', ' ', 'accompanies', ' ', 'you', ' ', 'to', ' ', 'progress', '!', '']
>>>

            
          

上述案例中的匹配模式就是搜索非單詞字符作為分隔符(請參考《第11.15節 Python正則表達式轉義符定義的特殊序列》),第一個語句是沒有組匹配模式,返回列表的最后一個元素為空字符串,第二個是有組匹配模式,所有非單詞字符都被作為列表的元素返回了。

我們再看一個案例:

            
              >>> re.split('(\W*)','Hello,world')
['', '', 'H', '', 'e', '', 'l', '', 'l', '', 'o', ',', '', '', 'w', '', 'o', '', 'r', '', 'l', '', 'd', '', '']


            
          

結果是不是很意外?請大家思考一下為什么會這樣。具體分析請參考《Python正則表達式W+和W*匹配過程的深入分析》。

老猿Python,跟老猿學Python!
博客地址:https://blog.csdn.net/LaoYuanPython
請大家多多支持,點贊、評論和加關注!謝謝!


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論