學習使用正規表達式

How to Learn Regular Expressions


本文由邱郁婷編輯

本文摘自Amit Agarwal的〈學習使用正規表達式(How to Learn Regular Expressions)〉,由邱郁婷統整後撰文。


作者介紹

Amit Agarwal是Google Workspace與Google Apps Script的開發專家,其擁有電腦科學 (I.I.T.)的工程師學位,也是印度第一位專業的網路日誌作家。Amit開發了數種知名的Google附加元件,例如Document Studio與Gmail的郵件合併功能(Mail Merge)等。

文章介紹

一、 正規表達式

正規表達式(Regular Expressions,縮寫為RegEx)可運用於文本搜尋,舉例來說,若以正規表達式輸入「iP(hone|ad|od)s?」,便可搜尋到文本中有關於iOS設備的內容。正規表達式的相關知識是程式設計師必備的能力,不過對於經常使用Microsoft Word或Google Spreadsheets的非開發人員來說,這或許早已是一項熟練的技能。

正規表達式是極其實用的工具,即便只有粗淺的了解,也能夠讓使用者在處理文件時大幅地節省時間,讓工作更加簡單。舉例來說,使用者可快速自Word或Vim文本中較複雜的部份進行搜尋或置換。此外,亦可透過正規表達式輕鬆提取出電子表單中的電話號碼或電子郵件地址。若是利用Google雲端建立表單,可透過正規表達式定義用戶輸入時的驗證規則(Validation Rules);在Gmail及Google Analytics中也能使用正規表達式。

二、 最佳正規表達工具與資源

作者於此文章中介紹了11項有關於正規表達式的工具及資源,詳細介紹如下:

1. Lea Verou之演講

此演講介紹了所謂的正規表達式以及其功用。

2. Jeffery Friedl著書-Mastering Regular Expressions

對於初學者或高手來說皆為最佳的實體參考資料。

3. RegexOne

正規表達之線上學習平台,類似於Codecademy的互動式教學網站。

4. Tutorial介紹

可藉此文章學習模式對比(Pattern Matching)之基礎。

5. RegExr

此網頁如同正規表達式的視覺遊樂場,使用方式很簡單,首先將文本貼至其中一欄位,而正規表達式則輸入於另一欄位。接著,當使用者編輯正規表達式之內容時,輸入之文本中相符合的字符串便會出現標記;此外,亦可將鼠標移至正規表達式中的任一字詞,並查看其詳細資訊。

6. RegEx101

此工具會於使用者輸入正規表達式時,以英文描述使用者所輸入之內容。

7. Regulex / RegExper

此二者皆為開源網頁應用程式,可讓使用者更容易了解或閱讀正規表達式。輸入正規表達式後,工具將自動生成一語法圖(Railroad Diagram,用以匹配字符串)。

8. Expresso

此為一免費Windows應用程式,其藉由視覺化產生器協助初學者編寫簡易或複雜的正規表達式,使用者可透過選取協助組件來執行,而不需手動編寫。

9. Reggy

此為Mac系統專用之工具,其可協助使用者於瀏覽器外測試正規表達式。

10. RegEx Coach

此工具之功能同「Reggy」,不過其為Windows系統專用。

11. RegEx / RegEx Crossword

有了正規表達式之基礎知識後,可至此二平台測試自己的學習成果。