1. 程式人生 > >python中正則表達式與模式匹配

python中正則表達式與模式匹配

導入 金融 機器學習 heat 集合 1-1 images import 學習

一、前言

  在之前找工作過程中,面試時經常被問到會不會python,懂不懂正則表達式。心裏想:軟件的東西和芯片設計有什麽關系?咱也不知道因為啥用這個,咱也不敢問啊!在網上搜索到了一篇關於腳本在ASIC領域中應用的文章(原文見參考文獻1),裏邊提到了python的用武之地:

技術分享圖片

  本文以《Python編程快速上手——讓繁瑣工作自動化》書中的示例,講述利用python實現文本中特定內容提取的方式。

二、提取特定內容示例

  需求:找出文本中所有的電話號碼和郵件地址。設計方案:在剪貼板的文本中提取出所有與電話號碼和郵件地址格式匹配的字符串。有了需求和設計方案,現根據電話號碼和郵箱地址格式編寫正則表達式。先來看看程序代碼,再做講解。

PhoneAndEmail.py

  此處電話號碼的格式是:三個數字組成的區號(可選),三個數字,四個數字,任意數空格+ext/x/ext.+任意數空格+2到5個數字組成的分機號(可選)。每個部分間以“-”號連接。郵箱地址格式:由字母、數字以及_%+-符號組成的用戶名,@符號以及.後的域名,域名由2-4個字母和數字集合組成。根據上述模式可編寫對應的正則表達式。

  python的模式匹配有一個簡單固定的套路,import導入re包,regex = re.compile(‘‘‘<正則表達式>‘‘‘)。<模式匹配的內容列表> = regex.findall(<待搜索字符串>)。三步搞定。編寫正則表達式時,在字符串前加r防止字符轉義。將各個部分分組並換行以提高代碼的可讀性,此時需要將re.VERBOSE作為re.compile()函數的第二個參數傳入來忽略表達式中的空白和換行。

三、運行結果

  復制代碼首部註釋掉的文本,然後運行程序。結果如下:

技術分享圖片

  前兩行打印出了匹配內容的列表,之後以自定義的統一格式打印欲搜索的內容。程序運行結果正確。本文以一個小例子測試了python正則表達式提取文本特定內容的功能,之後想嘗試利用python自動生成verilogHDL中module的例化模板。

價值1680元的python爬蟲實戰全套教學視頻 New
2019最新python二級培訓視頻教程 技術分享圖片 ...23456..7
超細講解Django打造大型企業官網 ...234
某科技的Python自動化測試培訓課程 ...2345
Python數據科學技術詳解與商業實踐視頻教程 技術分享圖片 ...23456
Python學習視頻資料 技術分享圖片 ...23456..7
Python+OpenCV3.3圖像處理系列視頻教程 技術分享圖片 ...23456
JF教育Python第七期VIP培訓視頻教程 ...2345
廖雪峰Python量化金融項目+就業爬蟲人工智能項目實戰課程 技術分享圖片 ...23456
Python3數據分析與挖掘建模實戰視頻教程 ...2345
北風網Python零基礎人工智能就業教程 ...2345
Python量化金融/量化投資視頻教程合集 ...234
python編寫搶票軟件實戰視頻教程 ...2345
馬哥python全棧+爬蟲+高端自動化視頻教程 ...2345
python flask高級編程視頻教程 ...23
極客Python之效率革命視頻教程 ...23
極客Python之Git實用視頻教程 ...23
小象學院Python機器學習和算法高級版視頻教程 ...23
尚矽谷python人工智能視頻教程 技術分享圖片 ...23

python中正則表達式與模式匹配