零全零美(www.zzgwt.com)
          生活中的很多事情,并不像If...Else那么簡單!
          posts - 96,comments - 52,trackbacks - 0

          行的開始和結(jié)束 開始符號:^ 結(jié)束符號:$  如:^cat 應(yīng)該理解為以c作為一行的第一個字符,緊接著是a,然后是t
          例如:String str = "catabdcatdetfcat"
          ^cat : 驗證該行以c開頭緊接著是a,然后是t
          cat$ : 驗證該行以t結(jié)尾倒數(shù)第二個字符為a倒數(shù)第三個字符為c
          ^cat$: 以c開頭接著是a->t然后是行結(jié)束:只有cat三個字母的數(shù)據(jù)行
          ^$   : 開頭之后馬上結(jié)束:空白行,不包括任何字符
          ^    : 行的開頭,可以匹配任何行,因為每個行都有行開頭
          --------------------------------------------------------------------------------------------------------------
          字符組:[]表示:"或" 如:[abc]:a或者b或者c
          例如:String str = "My Name is YangKai";
          a[mn] : 查找a后面是m或者n的單詞
          [Nn][ag] : 查找N或者n后面是a或者g的單詞
          --------------------------------------------------------------------------------------------------------------
          字符組內(nèi)的連字符:- 表示:范圍從開始到結(jié)束,
          連字符'-'只有出現(xiàn)在字符組內(nèi)部的時候才是連字符,其他情況只表示字符:"-"沒有特殊意義
          如果字符'-'出現(xiàn)在字符組內(nèi)的第一個位置或者出現(xiàn)在字符組內(nèi)的脫字符"^"之后,則該字符不是連字符只是一個字符而已
          例如:String num = "012C34A5B!#@$-%$^%&&*&(-)*)&6FR7GD89";
          [2-6] : 查找2到6之間的數(shù)字
          [A-R] : 查找從A到R之間的字符
          [2-6A-R] : 查找從2到6從A到R之間的字符
          [2-6A-R!@^&*] : 查找從2到6從A到R之間的字符和!@^&*等特殊字符
          [-2-6A-R]   :查找從2到6從A到R之間的字符和-
          ---------------------------------------------------------------------------------------------------------------
          脫字符:^ :當(dāng)^出現(xiàn)在字符組內(nèi)的第一個位置時表示:排除,即:除了....之外的,
          如果脫字符沒有在[]字符組的第一個位置,那么該^僅表示一個字符,沒有特殊意義
          [^0-9] : 查找字符串中除數(shù)字外的字符
          [^2-6A-R] : 查找字符串中除了2到6之間的數(shù)字和A-R之間的字符外的所有字符
          [^-2-6A-R] : 查找字符串中除了2到6之間的數(shù)字和A-R之間的字符和"-"外的所有字符(此處"-"只是一個字符,沒有連字符的含義)
          注意一下這種情況:
          String str = "abcdabcd";
          如果我們用表達(dá)式:d[^0-9] 只能匹配到字符串中的da,而不能匹配結(jié)尾處的d,因為結(jié)尾處的d沒有任何東西讓脫字符^去排除
          如果我們在結(jié)尾加上一個空格的話,就可以匹配到了
          -----------------------------------------------------------------------------------------------------------------
          用"."去匹配任意字符
          例如:03/19/76 03-19-76 03.19.76 可以用03[-/.]19[-/.]76去匹配,同樣可以用03.19.76去匹配,但是03.19.76也可能匹配到
          03-19A76,因為"."可以匹配任何字符
          注意:如果"."放在字符組外面的話表示元字符,但是如果放在字符組里面,則表示一個普通的"."

           

          posted on 2008-11-19 19:36 零全零美 閱讀(17752) 評論(7)  編輯  收藏 所屬分類: 正則表達(dá)式

          FeedBack:
          # re: 正則表達(dá)式學(xué)習(xí)筆記(1) 行的開始和結(jié)束、字符組、連字符、脫字符、用"."去匹配任意字符
          2008-11-19 20:14 | 網(wǎng)站優(yōu)化
          學(xué)習(xí)了.  回復(fù)  更多評論
            
          # re: 正則表達(dá)式學(xué)習(xí)筆記(1) 行的開始和結(jié)束、字符組、連字符、脫字符、用"."去匹配任意字符
          2008-11-20 07:37 | lostjuly
          thx, it would be a great help  回復(fù)  更多評論
            
          # re: 正則表達(dá)式學(xué)習(xí)筆記(1) 行的開始和結(jié)束、字符組、連字符、脫字符、用"."去匹配任意字符
          2008-11-20 09:15 | 隔葉黃鶯
          理解正則表達(dá)式的第二步  回復(fù)  更多評論
            
          # re: 正則表達(dá)式學(xué)習(xí)筆記(1) 行的開始和結(jié)束、字符組、連字符、脫字符、用"."去匹配任意字符
          2008-11-20 09:32 | yz
          看得清晰明了,比其它的人的介紹強多了!期待第二篇  回復(fù)  更多評論
            
          # re: 正則表達(dá)式學(xué)習(xí)筆記(1) 行的開始和結(jié)束、字符組、連字符、脫字符、用"."去匹配任意字符
          2008-11-20 15:37 | object
          正則表達(dá)這個東西,說難不難說簡單不簡單  回復(fù)  更多評論
            
          # re: 正則表達(dá)式學(xué)習(xí)筆記(1) 行的開始和結(jié)束、字符組、連字符、脫字符、用"."去匹配任意字符
          2009-10-05 18:23 | ThundeR
          寫的很詳細(xì),收藏拿去做備查~~~多謝提供!  回復(fù)  更多評論
            
          # re: 正則表達(dá)式學(xué)習(xí)筆記(1) 行的開始和結(jié)束、字符組、連字符、脫字符、用"."去匹配任意字符
          2014-03-28 22:25 | 性感電子
          主站蜘蛛池模板: 黎城县| 芒康县| 开封市| 伽师县| 泾阳县| 宜春市| 泸水县| 久治县| 河间市| 城市| 黎城县| 尉犁县| 宝兴县| 蒙山县| 沁阳市| 辽宁省| 静安区| 前郭尔| 常德市| 白城市| 元阳县| 封丘县| 绥中县| 安陆市| 新巴尔虎右旗| 邵东县| 尼玛县| 江源县| 仙桃市| 阿克陶县| 公主岭市| 萨嘎县| 固安县| 奈曼旗| 磐安县| 肇州县| 栾川县| 宝山区| 如皋市| 股票| 浪卡子县|