正規表示式之基礎(三)

2022-04-12 18:51:40 字數 1126 閱讀 3036

上面提到的子模式可以分為兩種情況 - capturing(獲取匹配)和non-capturing(非獲取匹配)

獲取匹配:匹配時會將所有子模式匹配結果儲存起來,可供後面查詢或者替換,比如後向引用。

使用「\數字」表示前面第幾個子模式的匹配結果

例:

text:

在子模式內部前面新增「?:」則表示該子模式是乙個非獲取匹配,也就意味著不可用於後向引用。只匹配,不儲存。

text:test regular expression:

windows (?:\w+\b)

results:正向肯定預查。 在子模式內部前面新增「?=」,表示該子模式僅僅作為匹配的限制條件,並不會被當做匹配結果輸出,更談不上儲存匹配結果。預查是不消耗字元的,也就是說,在乙個匹配發生後,在最後一次匹配之後立即開始下一次匹配的搜尋,而不是從 包含預查的字元之後開始。可以理解為以什麼結尾。

text:test regular expression:

windows (?=\d+\b)

results:windows vista和windows xp中的windows因不滿足限制條件而沒有匹配到

正向否定預查。在子模式內部前面新增「?!」,同正向肯定預查,表示該子模式僅作為匹配的條件。在上面的例子中,只有windows vista和windows xp中的windows會被匹配到並輸出結果。可以理解為不以什麼結尾。

反向肯定預查,和正向預查差不多,只是預查的方向不一樣。可以理解為以什麼開頭。

text:vista windows is the latest version of the family.

test regular expression:

(?=\d+\b) windows

results:vista windows is the latest version of the family.

(?

Perl之正規表示式基礎(三)

最開始我說過,perl的最強大之處在於處理文字。然而,在前兩篇 一 二 中,我只介紹了如何來匹配模式。本文中我將演示如何通過模式來改變字串,即如何使用正規表示式來處理文字。替換 s 如果將m 看作 查詢 那s 操作則類似於 查詢並替換 它將替換模式所匹配上的部分。m 可以和任何字串表示式進行比配,但...

正規表示式 1 正規表示式基礎

1.正規表示式基礎 正規表示式描述了一種字串匹配的模式,即可以使使用者通過一系列普通字元或特殊字元構建能夠明確描述文字字串的匹配模式,可以用來檢查某個字串是否含有某種子字串,將匹配的子字串做替換或者從某個字串中取出符合某個條件的子字串等。1.1 正規表示式的基本結構 乙個正規表示式就是由普通字元 如...

正規表示式基礎

限定符 d 匹配非負整數 正整數 0 0 9 1 9 0 9 匹配正整數 d 0 匹配非正整數 負整數 0 0 9 1 9 0 9 匹配負整數 d 匹配整數 d d 匹配非負浮點數 正浮點數 0 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 匹配正浮點數 d...