<span id="h9j9p"><th id="h9j9p"><th id="h9j9p"></th></th></span>
<sub id="h9j9p"><listing id="h9j9p"></listing></sub>

    <noframes id="h9j9p"><form id="h9j9p"></form>
    <form id="h9j9p"></form>
      <sub id="h9j9p"><dfn id="h9j9p"><menuitem id="h9j9p"></menuitem></dfn></sub>

      <form id="h9j9p"><nobr id="h9j9p"><meter id="h9j9p"></meter></nobr></form>
        400-650-7353

        精品課程

        您所在的位置:首頁 > IT干貨資料 > python > 【Python基礎知識】常用內建模塊-re

        【Python基礎知識】常用內建模塊-re

        • 發布: 優就業it培訓
        • 來源:
        • 2021-10-29 14:50:16
        • 閱讀()
        • 分享
        • 手機端入口

        編程語言中的正則表達式用于描述搜索模式的特殊文本字符串。這對于從文本(如代碼、日志、文檔、電子表格等)中提取信息非常有用。使用正則表達式時,首先要認識到的是,所有內容本質上都是一個字符。ASCII或拉丁字母是鍵盤上的字母,Unicode用于匹配外來文本,它包括數字和標點符號以及所有特殊字符,如$、#、@、!、%等。

        例如,正則表達式可以告訴程序從字符串中搜索特定文本,然后相應地打印出結果。正則表達式可以包括文字匹配、重復、分支、模式組成等。

        在Python中,正則表達式通過re模塊導入。元字符是具有特殊含義的字符,用來匹配特定文本。常用的元字符如表所示。

        re模塊中定義了一些函數,分別對應不同的匹配模式。

        findall()函數用于返回包含所有匹配項的字符串列表:

        1. >>> import re   # 導入re模塊,以下示例都將省略這行代碼 
        2. >>> s = 'hello 12 hi 89. How 34' 
        3. >>> pattern = '\d+'   # 匹配數字 
        4. >>> result = re.findall(pattern, s) 
        5. >>> print(result) 
        6. ['12''89''34'

        split()函數用于在存在匹配項的情況下拆分字符串,并返回發生拆分的字符串列表:

        1. >>> s = 'python:234, java 90'   # 將數字作為分隔符 
        2. >>> pattern = '\d+' 
        3. >>> result = re.split(pattern, s) 
        4. >>> print(result) 
        5. ['python:'', java '''

        如果不存在匹配項,那么split()函數返回一個包含空字符串的列表?梢詫axsplit參數傳遞給split()函數,maxsplit代表最大拆分次數:

        1. >>> s = 'python:234, java 90' 
        2. >>> pattern = '\d+' 
        3. >>> result = re.split(pattern, s, 1)   # 分割最大值是1,即拆成兩份 
        4. >>> print(result) 
        5. ['python:'', java 90'

        sub()函數用于返回一個字符串,其中匹配到的匹配項被替換變量的內容替換:

        1. >>> s = 'abc 12
        2. ... de 23 \n f45 6
        3. >>> pattern = '\s+'   # 匹配空白字符 
        4. >>> replace = ''   # 用空字符串替換匹配項 
        5. >>> new_string = re.sub(pattern, replace, s) 
        6. >>> print(new_string)  # 完成替換 
        7. abc12de23f456 

        如果不存在匹配項,那么sub()函數返回原始字符串。

        subn()函數與sub()函數類似,只不過subn()函數返回一個包含2個項的元組,其中包含新字符串和進行替換的次數:

        1. >>> s = 'abc 12
        2. ... de 23 \n f45 6
        3. >>> pattern = '\s+' 
        4. >>> replace = '' 
        5. >>> new_string = re.subn(pattern, replace, s) 
        6. >>> print(new_string) 
        7. ('abc12de23f456'4

        search()函數采用兩個參數,分別是匹配模式和字符串。該函數查找正則表達式模式與字符串匹配的第一個位置。如果匹配成功,那么search()函數返回一個match對象;否則返回None:

        1. >>> s = 'Python is fun' 
        2. >>> match = re.search('\APython', s)   # 檢查'Python'是否在開頭 
        3. >>> print(match)   # 返回一個對象 
        4. <_sre.SRE_Match object; span=(06), match='Python'

        上面的match變量包含著match對象,match對象的re屬性返回一個正則表達式對象,string屬性返回傳遞的字符串:

        1. >>> match.re 
        2. re.compile('\\APython'
        3. >>> match.string 
        4. 'Python is fun' 

         

        學習疑問申請解答
        您的姓名
        您的電話
        意向課程
         

        中公優就業

        IT小助手

        掃描上方二維碼添加好友,請備注:599,享學習福利。

        >>本文地址:
        注:本站稿件未經許可不得轉載,轉載請保留出處及源文件地址。

        推薦閱讀

        優就業:ujiuye

        關注中公優就業官方微信

        • 關注微信回復關鍵詞“大禮包”,享學習福利
        QQ交流群
        在線疑問解答
        (加群備注“網站”)
        IT培訓交流群 加入群聊 +
        軟件測試 加入群聊 +
        全鏈路UI/UE設計 加入群聊 +
        Python+人工智能 加入群聊 +
        互聯網營銷 加入群聊 +
        Java開發 加入群聊 +
        PHP開發 加入群聊 +
        VR/AR游戲開發 加入群聊 +
        大前端 加入群聊 +
        大數據 加入群聊 +
        Linux云計算 加入群聊 +
        優就業官方微信
        掃碼回復關鍵詞“大禮包”
        享學習福利

        測一測
        你適合學哪門IT技術?

        1 您的年齡

        2 您的學歷

        3 您更想做哪個方向的工作?

        獲取測試結果
         
        課程資料、活動優惠 領取通道
         
         
        亚洲日韩中文字幕一区
        <span id="h9j9p"><th id="h9j9p"><th id="h9j9p"></th></th></span>
        <sub id="h9j9p"><listing id="h9j9p"></listing></sub>

          <noframes id="h9j9p"><form id="h9j9p"></form>
          <form id="h9j9p"></form>
            <sub id="h9j9p"><dfn id="h9j9p"><menuitem id="h9j9p"></menuitem></dfn></sub>

            <form id="h9j9p"><nobr id="h9j9p"><meter id="h9j9p"></meter></nobr></form>