正規表示式(3) 運算子優先順序

2021-08-28 23:29:07 字數 942 閱讀 3698

正規表示式(1)---語法講解

正規表示式(2)---匹配規則

上一節,對於正則的表示式的匹配規則做了相應的講解。對於閱讀正規表示式有了很好的提公升。但是,與一般語言運算子相對比,正規表示式的運算子也是相當多,那麼如何分辨他們的優先順序。這裡我們貼出乙個非常複雜的模式:

[\w!#$%&'*+/=?^_`~-]+(?:\.[\w!#$%&'*+/=?^_`~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?//本表示式功能用來匹配郵箱位址

由於在第一章正規表示式(1)---語法講解中運算子處在不同的功能專案中,我們沒有統一製作成**,這裡將第一章中出現的運算子統計如下:

運算子描述

\轉義符

(), (?:), (?=),

圓括號和方括號

*, +, ?, , ,

限定符^, $, \任何元字元、任何字元

定位點和序列(即:位置和順序)

|替換,"或"操作"字元具有高於替換運算子的優先順序,使得"m|food"匹配"m"或"food"。若要匹配"mood"或"food",請使用括號建立子表示式,從而產生"(m|f)ood"。

上面的運算子的優先順序由高到低,我們在檢視正規表示式的時候

可以按照這個順序來閱讀。

[\w!#$%&'*+/=?^_`~-]+(?:\.[\w!#$%&'*+/=?^_`~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?

其中@是郵箱的標識,這裡對前後內容進行拆分

[\w!#$%&'*+/=?^`~-]+(?:\.[\w!#%&'*+/=?^`~-]限制字元格式,再拆分

@後面的可以按照這也原理解讀。

到這裡,運算子的優先順序解釋也已經結束。多謝大家支援。後面章節會貼出許多常用的正規表示式,供大家學習。

正規表示式運算子優先順序

正規表示式從左到右進行計算,並遵循優先順序順序,這與算術表示式非常類似。相同優先順序的從左到右進行運算,不同優先順序的運算先高後低。下表從最高到最低說明了各種正規表示式運算子的優先順序順序 運算子描述 轉義符 圓括號和方括號 限定符 任何元字元 任何字元 定位點和序列 即 位置和順序 替換,或 操作...

ios學習 正規表示式運算子優先順序

正規表示式從左到右進行計算,並遵循優先順序順序,這與算術表示式非常類似。相同優先順序的從左到右進行運算,不同優先順序的運算先高後低。下表從最高到最低說明了各種正規表示式運算子的優先順序順序 運算子描述 轉義符 圓括號和方括號 限定符 任何元字元 任何字元 定位點和序列 即 位置和順序 替換,或 操作...

運算子優先順序 C 運算子優先順序

c 運算子優先順序 優先順序運算子 描述方向1 scope resolution 範圍解析 left to right 2 suffix postfix increment and decrement 字首 字尾遞增和遞減 function call 函式呼叫 array subscripting ...