<wbr id="wsjqy"></wbr>

          <form id="wsjqy"></form>
          <sub id="wsjqy"></sub>
          <nav id="wsjqy"><listing id="wsjqy"></listing></nav>
          更多課程 選擇中心


          Python培訓

          400-111-8989

          Python 模式匹配與正則表達式

          • 發布:考拉
          • 來源:程序員考拉
          • 時間:2018-03-08 15:11

          你可能熟悉文本查找,即按下Ctrl-F, 輸入你要查找的詞。“正則表達式”是Ctrl-F的升級版本。正則表達式很有,但如果不是程序員,很少會有人了解它,盡管大多數現代文本編輯器和文字處理器都有查找和查找替換功能,可以根據正則表達式查找。正則表達式可以節約大量時間,不僅適用于軟件用戶,也適用于程序員。學會正則表達式,別人需要數天的繁瑣工作才能解決的問題,而且別人容易出錯,而你只需要擊鍵就能解決問題。

          下面先看不用正則表達式查找文本模式。

          假設你希望在字符串中查找電話號碼,你知道模式:3個數字,1個短橫線,3個數字,1個短橫線,再是4個數字。例如:498-553-5453。

          假定我們用一個名為isPhoneNumber()函數來檢查字符串是否匹配模式,它返回True或False。打開一個新的文件編輯器,輸入以下內容:

          def isPhoneNumber(text):   if len(text) !=12:
                return False   for i in range(0,3):
                if not text[i].isdecimal():
                    return False       if text[3]!='-':
                    return False   for i in range(47):
                if not text[i].isdecimal():
                    return False       if text[7] != '-':
                    return False   for i in range(812):
                if not text[i].isdecimal():
                    return False   return True print('498-553-5453 is a phone number:')
          print(isPhoneNumber('498-553-5453'))
          print('Moshi moshi is a phone number:')
          print(isPhoneNumber('Moshi moshi'))

          運行該程序,輸出看起來像這樣:

          498-553-5453 is a phone number:
          True
          Moshi moshi is a phone number:
          False

          用參數'498-553-5453'調用isPhoneNumber()函數將返回True,用參數‘Moshi moshi’將返回False,第一項測試失敗了,因為不是12個字符。

          必須添加更多代碼,才能再更長的字符串中尋找這種文本模式。用下面的代碼,替換上述代碼中的4個print函數調用:

          message='Call me at 498-553-5453 tomorrow.415-233-2322 is my office.' for i in range(len(message)):
           chunk=message[i:i+12]
           if isPhoneNumber(chunk):
             print('Phone number found:' + chunk)
             print('Done')

          該程序運行時,輸出看起來是這樣:

          Phone number found:498-553-5453 Phone number found:415-233-2322 Done

          在這個例子中,雖然message中的字符很短,但它也可能包含上百萬個字符,程序運行仍然不需要1秒鐘。使用正則表達式查找電話號碼的類似程序,運行也不會超過一秒鐘,但是用正則表達式編寫這類程序會快得多。


          預約申請免費試聽課

          填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

          上一篇:手把手教你用Python創建微信聊天機器人
          下一篇:Centos7安裝Python3圖文教程

          2021年Python面試題及答案匯總詳解

          python數據分析,你需要這些工具

          Python培訓講解二叉樹的三種深度

          Python培訓:如何實現窮舉搜索?

          • 掃碼領取資料

            回復關鍵字:視頻資料

            免費領取 達內課程視頻學習資料

          • 視頻學習QQ群

            添加QQ群:1143617948

            免費領取達內課程視頻學習資料

          Copyright ? 2021 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

          選擇城市和中心
          黑龍江省

          吉林省

          河北省

          湖南省

          貴州省

          云南省

          廣西省

          海南省

          网友自拍 偷拍 校园性爱青青草曰逼视屏老鸭窝国产偷自视频区视频 百度 好搜 搜狗
          <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>