讀古今文學網 > 精通正則表達式(第3版) > 第5章 正則表達式實用技巧 >

第5章 正則表達式實用技巧

Practical Regex Techniques

現在我們已經掌握了編寫正則表達式所需的基本知識,我希望在更複雜的環境中應用這些知識來處理更複雜的問題。每個正則表達式都必須在下面兩個方面求得平衡:準確匹配期望匹配的內容,忽略不期望匹配的字符。我們已經看過許多例子都說明,如果應用得當,匹配優先非常有用,但如果不夠小心,也可能帶來麻煩,在本章我們還將看到許多例子。

NFA 引擎還需要平衡另外一個因素:效率,這也是下一章的主題。設計糟糕的正則表達式——即使可以認為沒犯錯誤——也足以讓引擎癱瘓。

本章出現的主要是各種實例,我會帶領讀者循著我的思路去解決各種問題。某些例子或許對讀者並沒有現實價值,但我仍然推薦讀者閱讀這些實例。

例如,即使你的工作不涉及HTML,我仍推薦你從處理HTML的實例中吸取知識。原因在於,編寫巧妙的正則表達式不僅僅是一種手藝(skill)——而且還是一種藝術(art)。它的教授和學習,不是依靠羅列規則,而是依靠經驗,所以,我用這些例子告訴讀者,自己在過去的若干年從經驗中獲得的深刻啟示。

當然,讀者仍然需要自己掌握這些知識,但是研究本章的例子是個好的起點。