正則表達式入門

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

          元字符

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

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

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

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

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

          \w匹配字母或數(shù)字或下劃線或漢字等。

          ^ :匹配字符串的開始。

          $ 匹配字符串的結(jié)束。

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

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

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

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

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

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

           

          字符轉(zhuǎn)義

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

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

          c:\\Windows  匹配c:\Windows

           

          重復

          代碼/語法

          說明

          *

          重復零次或更多次

          +

          重復一次或更多次

          ?

          重復零次或一次

          {n}

          重復n

          {n,}

          重復n次或更多次

          {n,m}

          重復nm

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

          13\d{9}  匹配13后面跟9個數(shù)字

           

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

          ^\w+$  //匹配由數(shù)字、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字節(jié),允許字母數(shù)字下劃線)

          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

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


          網(wǎng)站導航:
           

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

          Copyright © 冰江獨行

          主站蜘蛛池模板: 荆州市| 平昌县| 灌阳县| 台山市| 张掖市| 古丈县| 大埔区| 微山县| 上思县| 格尔木市| 正镶白旗| 海盐县| 东至县| 广丰县| 会昌县| 塔河县| 通州区| 晋城| 于田县| 灵山县| 千阳县| 泸定县| 永修县| 印江| 尼玛县| 阳山县| 莒南县| 昌江| 广饶县| 岐山县| 南昌县| 开阳县| 涞源县| 会昌县| 景泰县| 永城市| 民勤县| 汉阴县| 泰兴市| 获嘉县| 平乐县|