程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> 正則表達式學習-初

正則表達式學習-初

編輯:.NET實例教程

前兩天轉了一篇正則表達式實例的文章,內容不是太復雜,不過在自己再想繼續深入時,
 卻發現它也不是我想的那麼簡單,決心努力好好學習學習,這不,花費上午的時間學習
了正則表達式,並寫下了這篇初級的入門總結,給和我一個水平的朋友參考。
      下一步還會有一個深入,等我學好了,再繼續發上來,呵呵。


正則表達式概述
                                                                                                                                              
    在編寫處理字符串的程序或網頁時,常會有查找符合某些復雜規則的字符串的需要。
而正則表達式就是用於描述這些規則的工具,正則直接量也被定義為包含在一對斜線(/)
間的字符,它是記錄文本規則的一類代碼。
                                                                                                                                               
    它主要是用於文本匹配,所以我們不得不提到字符串的搜索/查找,因為正則表達式
 就是在給定的字符串中,尋找與之匹配的部分,匹配在這裡有三層意思:一種是一個字符
串匹配一個表達式;一種是在字符串李匹配正則表達式,最後一種是字符串中滿足給定的
 正則表達式的一部分。


                                                                                                                                              
正則表達式
                                                                                                                                               
 特殊字符
 在正則表達式中,下面的這些符號:
 ^ $ . * ?  | \ [] {}
都具有特殊的含義,在寫正則表達式時尤其要注意,若想在表達式中直接使用它們,則必
 須在其前面加上\,以表示轉義,如\/, \:
首先在這裡說明它們各自的作用:
 ^ 是匹配字符串的開始,如[^\x00-\xff] (匹配雙字節字符,包括漢字在內)
                                                     

                                                                                         
$ 是匹配字符串的結尾,如
 ^[a-zA-Z][a-zA-Z0-9_]{4,15}$ (匹配合法的帳號:子母開頭,5-15位,允許子母數字下劃線)
 可以匹配除換行符以外的任意字符
 * 重復0次或者多次
 ? 重復0次或一次
+ 重復1次或多次
                                                                                                                                               
| 起或的功能,即匹配兩個表達式中的任意一個,如\d{15}|\d{18} (匹配15或18位的SFZ)
\ 轉義字符,用於轉義上面的特殊字符
 [] 匹配[]中的任意字符,如[aeiou] (匹配任何一個英文<F12>元音子母),還可以定義否定的
 字符類,用於匹配不包含在[]內的所有字符,如[^0-9]匹配的是除數字之外的所有字符。
 {} 有三種用法:{n} 重復n次;{n,} 重復n次或更多次;{n,m} 重復n到m次,如
13\d{9} 中國的手機號
                                                                                                                                              
 元字符
                                                                                                                                              
 說明:幾乎所有的語言都有正則表達式,但其規則卻不一定都相同,在我看的資料中,關於
 元字符的解釋就不盡相同,有的解釋是: \w的匹配為任何ASCII單字字符,等價於[a-zA-Z0-9],
 而在另外則為匹配字符數字或下劃線或漢字,因此大家在編寫正則表達式時一定要作好測試,
 看到底是如何匹配的,以免造成錯誤.
 
\w 匹配字符或數字或下劃線或漢字,等價於 [a-zA-Z0-9\u4e00-\u9fa5]
 \s 匹配任意的空白符
 \d 匹配任意數字,等價於 [0-9]
\b 匹配單詞的開始或結束,即一個詞語的邊界,位於\w和\W之間的位置? ^及$和\b有些類似
 ,都是匹配的位置,比如要求輸入的QQ號必須為5到12位,則可以這樣寫: ^\d{5,12}$
                                                                                                                                              
 反義
                                                                                                                                              
 \W 匹配任意不是子母,數字,下劃線或漢字的字符
 \S 匹配任意不是空白符的字符
 \D 匹配任意非數字的字符
 \B 匹配不是單詞開頭或結束的位置,即一個詞語的邊界,位於\

                                    w和\W之間的位置
                       &nbsp;                                                                                                                       
例如: \S+ 匹配不包含空白符的字符串 <a[^>]+> 匹配用尖括號括起來的以a開頭的字符串

替換

 關於替換我們在前面的例子中其實也有涉及到了,一個簡單最簡單的: [0-9]|[a-zA-z] 匹配任意的
 數字或者字母.

基礎知識就到此為止,下次主要內容說明:
 分組
                                                                                  
 後向引用
                                                                                 
 零寬斷言
                                                         

;                        
負向零寬斷言
                                                                                  
注釋
                                                                                 
 貪婪與懶惰
                                                                                  
處理選項
                                                                                  
平衡組/遞歸匹配
 
 可能都會有,也可能有一部分,看我的學習能力了,呵呵。

                                       

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved