正則表達式入門

          Posted on 2007-07-12 10:54 冰江獨行 閱讀(1314) 評論(3)  編輯  收藏

          元字符

          \b代表著單詞的開頭或結尾,也就是單詞的分界處。

          . :匹配除了換行符以外的任意字符。

          * 它代表的不是字符,也不是位置,而是數量。它指定*前邊的內容可以連續重復出現任意次以使整個表達式得到匹配。因此,.*連在一起就意味著任意數量的不包含換行的字符。

          \d匹配任意的數字(0,或1,或2,或……)。

          \s匹配任意的空白符,包括空格,制表符(Tab),換行符,中文全角空格等。

          \w匹配字母或數字或下劃線或漢字等。

          ^ :匹配字符串的開始。

          $ 匹配字符串的結束。

          ^匹配你要用來查找的字符串的開頭,$匹配結尾。這兩個代碼在驗證輸入的內容時非常有用

          例:\bhi\b.*\bLucy\b  表示先是一個單詞hi,然后是任意個任意字符(但不能是換行),最后是Lucy這個單詞。

          0\d\d-\d\d\d\d\d\d\d\d  0開頭,然后是兩個數字,然后是一個連字號“-”,最后是8個數字. 也可以這樣寫這個表達式:0\d{2}-\d{8}。這里\d后面的{2}({8})的意思是前面\d必須連續重復匹配2(8)。

          \ba\w*\b  匹配以字母a開頭的單詞——先是某個單詞開始處(\b),然后是字母a,然后是任意數量的字母或數字(\w*),最后是單詞結束處(\b) 。

          ^\d{5,12}$  必須為5位到12位數字

          \d+  匹配1個或更多連續的數字。這里的+是和*類似的元字符,不同的是*匹配重復任意次(可能是0),而+則匹配重復1次或更多次。

           

          字符轉義

          如果你想查找元字符本身的話,比如你查找 . 或者 * 就出現了問題:你法指定它們,因為它們會被解釋成其它的意思。這時你就必須使用\來取消這些字符的特殊意義。因此,你應該使用\.\*。當然,要查找\本身,你也得用\\。

          www\.unibetter\.com  匹配www.unibetter.com

          c:\\Windows  匹配c:\Windows

           

          重復

          代碼/語法

          說明

          *

          重復零次或更多次

          +

          重復一次或更多次

          ?

          重復零次或一次

          {n}

          重復n

          {n,}

          重復n次或更多次

          {n,m}

          重復nm

          Windows\d+  匹配Windows后面跟1個或更多數字

          13\d{9}  匹配13后面跟9個數字

           

          例子:^[A-Za-z]+$  //匹配由26個英文字母組成的字符串
          ^[A-Z]+$  //匹配由26個英文字母的大寫組成的字符串
          ^[a-z]+$  //匹配由26個英文字母的小寫組成的字符串
          ^[A-Za-z0-9]+$  //匹配由數字和26個英文字母組成的字符串

          ^\w+$  //匹配由數字、26個英文字母或者下劃線組成的字符串
          ^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$  //匹配email地址
          ^[a-zA-z]+://匹配(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$ 匹配url

          /<(.*)>.*<\/>|<(.*) \/>/  匹配HTML標記

          ^[a-zA-Z][a-zA-Z0-9_]{4,15}$  匹配帳號是否合法(字母開頭,允許5-16字節,允許字母數字下劃線)

          v

          Feedback

          # re: 正則表達式入門  回復  更多評論   

          2007-07-12 11:54 by dennis
          hello,你的blog模板是什么?我也想改成你這樣的樣式,真不錯

          # re: 正則表達式入門  回復  更多評論   

          2007-07-12 13:47 by 中東
          寫的很好,清楚易懂

          # re: 正則表達式入門  回復  更多評論   

          2007-07-12 15:51 by 風過云起
          blog模板是BlueCurve

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          posts - 15, comments - 15, trackbacks - 0, articles - 2

          Copyright © 冰江獨行

          主站蜘蛛池模板: 荆州市| 樟树市| 福贡县| 辽阳县| 遵义市| 长沙市| 河津市| 永宁县| 河曲县| 丰镇市| 许昌县| 平塘县| 皋兰县| 麻栗坡县| 庄河市| 永吉县| 武安市| 叶城县| 房产| 治多县| 宁远县| 长汀县| 正镶白旗| 土默特右旗| 西和县| 内乡县| 景宁| 海丰县| 威宁| 武穴市| 晋州市| 宜昌市| 德钦县| 牙克石市| 常德市| 名山县| 宝鸡市| 房产| 江源县| 兴城市| 淅川县|