程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python 教程之使用 Python 和 Graphviz 動畫正則表達式 窺探正則表達式引擎的內部

編輯:Python


正則表達式名聲不好。似乎每當提到它們時,它都會調用可怕的文字牆的圖像,這些圖像看起來絕對是胡說八道。例如,這是用於驗證電子郵件地址的常用正則表達式:

(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/ =?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\ [\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0 -9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0- 5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0 -4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\ x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])

哎呀。我不會假裝你會在本文結束時理解這個表達,但我至少想向你展示它是建立在簡單的規則之上的,這些規則並不難理解。

您可能想知道,為什麼您首先要關心這些事情是如何工作的?我認為有幾個很好的理由。首先是理解基礎可以更容易記住如何編寫好的正則表達式。

我肯定遇到過多種情況,我寫了一個正則表達式,然後幾個月都不需要看它。當我最終回到它時,我已經忘記了一切,不得不從頭開始重新學習


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved