讀古今文學網 > 精通正則表達式(第3版) > 總結:開動你的大腦 >

總結:開動你的大腦

In Summary:Think!

在本章的結尾講個故事,我希望讀者能夠明白,在NFA中使用正則表達式時,稍微動動腦筋能帶來多大的收益。在使用GNU Emacs時,我希望用一個正則表達式來找出某種類型的縮寫,例如「don』t」、「I』m」和「we』ll」之類,同時必須忽略與單詞鄰接的單引號。我想用「\<\w+」來匹配單詞,然後是「'([tdm]|re|ll|ve)」。這辦法沒有問題,但是我意識到,使用「\<\w+」是愚蠢的,因為這裡只用到\w。你看到了,如果撇號之前就是一個\w,\w+顯然也能夠匹配,所以這個正則表達式檢查並沒有增加新的信息,除非我希望得到匹配的文本(在這裡並不需要,我們只需要找到這個位置)。單獨使用\w的正則表達式的速度是原來的10倍。

正因如此,一點點的思考就可以帶來巨大的收穫。我希望本章能夠引發你的這點思考。