四、附錄
子表示式的作用是把乙個表示式中相關的部分組合在一起。用()來定義。常見用途為:a) 對重複次數元字元的作用物件做出精確的設定和控制,例如:(\d.)\d來粗略匹配ip位址
b) 對|操作符的or條件做出準確的定義。另外子表示式可以巢狀使用、頻繁使用子表示式會降低效率
回溯引用允許正規表示式引用前面的匹配結果 應用場景:a) 有一段文字,你想把這段文字中所有連續重複出現的單詞找出來。
文字:this is a block of of text, serveral words here are are repeated, and and they should not be.
正規表示式:
[ ]+(\w+)[ ]+\1
結果:匹配出of of, are are, and and
解釋:[ ]+匹配乙個或多個空格,\w+匹配乙個單詞,\w+是放在()中的,是個子表示式,這裡子表示式的作用是將這 一部分單獨劃分出來供後面引用,\1是乙個回溯引用,匹配\w+具體匹配的內容,當(\w+)匹配到of時,\1就是of。
b) 匹配下面html中的標題內容(h1-6標籤)
>
>
welcome to my homepageh1
>
>
coldfusionh3
>
body
>
如果使用正規表示式 .*?,那麼第二行也會被匹配進去,這很明顯不是我們想要的,因為第二行的h2和h3標籤不匹配。正則:我們應該使用.*?,這樣localhost is 127.0.0.1
(
((\d)|
(1\d)|
(2[0
-4]\d)|25
[0-5
]))\.)
((\d)|
(1\d)|
(2[0
-4]\d)|25
[0-5
]))
解釋:
\d匹配0-99,1\d匹配100-199,2[0-4]\d匹配200-249,25[0-5]匹配250-25532正則:
?//[-\w.]+(:\d+)?(/([\w/_.]*)?)?結果:
第1、2、3以及第4行到?為止c) 郵箱位址d) html注釋(\w+\.
)*\w+@(\w\.)+
[a-za-z]
+
e) 匹配中文.*?-
>
[\u4e00-\u9fa5]
正規表示式(二) 正規表示式的切割
切割 還記得stirng的split的方法嗎.可以按照 空格,豎線 對字串進行切割.正規表示式的切割 是指,我們按照正規表示式的規則對字串來進行一些複雜的切割 比方說現在我想按照多個空格來進行切割 string str zhangsan lisei wangwu string reg s s在這裡代...
正規表示式(二)
三 正規表示式高階 1.後向引用 exp 匹配exp,並捕獲文字到自動命名的組裡,命名規則為從左向右 從1開始依次分組,分組0對應整個正規表示式 n 重複搜尋前面分組n匹配的文字 例如 b w b s 1 b,編號為1的分組為 b w b,表示乙個單詞,整個表示式用來匹配重複的單詞,像go go,或...
正規表示式 二
正規表示式 二 一 sed 可以將資料進行取代 刪除 新增 擷取 語法 sed nefr 動作 n 使用安靜模式。在一般sed的用法中,所有來自stdin的資料一般都會被列出到螢幕上。但是加上 n引數後,則只有經過sed特殊處理的哪一行才會被列出 e 直接在指令列模式上進行sed的動作編輯 f 直接...