1. 程式人生 > >正則表示式「^」符號的正確理解方式

正則表示式「^」符號的正確理解方式

以上面這個正則表示式為例,一般情況下我們會使用兩種思路去理解

  1. 不匹配「a」和「b」開頭的字串

  2. 匹配除「a」和「b」以外的所有字串開頭的字串

通過這兩種思路去理解這個正則表示式, 最終的答案都是一樣的,也是正確的。 我們思考問題的邏輯思路更傾向於第一種理解方式。

然而, 對於整套正則表示式體系理念來說, 第一種理解方式是錯誤的。 在正則表示式理念中, 只有去「匹配」些什麼, 從來沒有「不匹配」這一說法,這一點是必須要區分清楚的。

當我們處理正則問題時, 在梳理邏輯時將「匹配」與「不匹配」混雜在一起,勢必會增加處理問題的複雜度, 對於簡單的問題受到的影響也許不是很明顯 , 就像上面舉的例子那樣, 因為還在我們智力的承受範圍內,但碰到複雜的問題時, 就會像掉進沼澤一樣, 怎麼爬也爬不出來, 最終被困死在泥潭中。但是,假如只是以單純的「匹配」去理解,就能簡化處理問題的難度,降低複雜度,2肯定比1複雜。 因此,正則表示式最重要的核心理念就是「匹配」

另外,在程式設計中用到的替換、切割、查詢等操作, 都是程式類庫封裝的功能, 和正則表示式本身半毛錢關係也沒有。   理解「匹配」也就意味著對學習正則表示式的入門。