說一點題外話,進階果然不是那麼容易的,光是在零度斷言那裡就停留了好長時間,
然後在自己寫例子的時候也耽誤了不少時間,不過好在也弄懂了不少東西,對正則
表達式的掌握也更深了一步。
若有好的意見或建議,請給我留言。
-------------------------------------------------------------------------------------
分組
分組簡單,說不好說,寫一個簡單的例子吧: ?(\d{1,3}\.){3}\d{1,3},匹配IP地址,首先說明,這個肯定
是不規范,不過這裡就是一個說明,我們按順序解析它,\d{1,3}匹配1到3位
的數字,後面加{3}匹配三位數字加上. 重復三次,最後再加上一個1到3位的數字,這就是分組,
就這麼簡單。
後向引用
根據我的理解就是如果使用一個小括號指定一個表達式,如(\d{1,3}),它就自動擁有了一個組號,從左到右
,以分組的左括號為標志,分組的組號依此為1,2,3,...,後向引用就是用於
重復搜索前面某個分組(小括號中的表達式)匹配的文本。例如,\1代表分組1匹配的文本,難
以理解?恩,是有點難以理解,我剛開始也一樣,不要急,我們看一個例子:
\b(\w+)\b\s+\1\b 可以用來匹配重復的單詞,如kitty kitty之類。首先是一個單詞,然後是
1個或多個空白符,最後是前面匹配的那個單詞(\1).
我們也可以自己指定子表達式的組名。