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

             "|":意思是"或",他可以把多個(gè)子表達(dá)式組合成一個(gè)總的表達(dá)式,而這個(gè)總表達(dá)式擁有子表達(dá)式的全部能力
              例如:Yang 可以匹配 My name is YangKai,that is my first name is Yang and my second name is Kai中的Yang,Kai
          可以用來(lái)匹配其中的Kai,但是這兩個(gè)子表達(dá)式要么只能取Yang要么只能取Kai,如果我們要求一次性把所有的Yang和Kai都取出來(lái),
          我們就可以這樣做:Yang|Kai 
              這個(gè)時(shí)候應(yīng)該區(qū)別一下多選結(jié)構(gòu)與字符組[],字符組[]的單位為單個(gè)字符,意思是字符組[]總是以字符為單位去匹配,本例中如果我們這樣:[YangKai],那么該表示的作用是匹配字符串中所有的Y,所有的a,所有的n.....,他不會(huì)去把Yang作為一個(gè)單位,也不會(huì)把Kai作為一個(gè)單位,而每個(gè)多選結(jié)構(gòu)可以是一個(gè)單獨(dú)的正則表達(dá)式,可以去匹配任意長(zhǎng)度的文本。
             同樣應(yīng)該注意的一點(diǎn)是:如果把"|"放在字符組[]的內(nèi)部,他只是一個(gè)普通的字符,不是元字符。
             多個(gè)多選結(jié)構(gòu)可以用()組合,如:a(ng|dd|ni)k的意思是匹配a后是ng或者是dd或者是ni然后是k的字符串,又如:^(Form|To|Mail) : 以From或者To或者M(jìn)ail開(kāi)頭的行

          posted on 2008-11-21 13:44 零全零美 閱讀(3668) 評(píng)論(2)  編輯  收藏 所屬分類(lèi): 正則表達(dá)式

          FeedBack:
          # re: 正則表達(dá)式學(xué)習(xí)筆記(2) 多選結(jié)構(gòu)--匹配任意子表達(dá)式
          2008-11-24 10:06 | 劉凱毅
          很好
          確實(shí)學(xué)到原來(lái)沒(méi)注意到幾個(gè)地方
          1. []中'|' 是普通的,不需要轉(zhuǎn)換
          2. ^(Form|To|Mail) 是可行的,原來(lái)笨笨的 ^((Form)|(To)|(Mail))

          并且我補(bǔ)充點(diǎn)
          在java中使用 | 要轉(zhuǎn)義為 \\|使用
          javascript | 要轉(zhuǎn)義為 \| 使用

          我在使用java 正則中做到一些嘗試 希望對(duì)大家有幫助
          java regex 正則部分高級(jí)特性使用l

          @昨夜流星
          看好你哦 :) 期待 3 --

            回復(fù)  更多評(píng)論
            
          # re: 正則表達(dá)式學(xué)習(xí)筆記(2) 多選結(jié)構(gòu)--匹配任意子表達(dá)式
          2009-10-05 18:28 | ThundeR
          @劉凱毅
          哈哈~~~又從你的回復(fù)中收獲良多~~
          多謝博主和一樓的兩位!  回復(fù)  更多評(píng)論
            
          主站蜘蛛池模板: 孝义市| 九寨沟县| 温泉县| 昌江| 郁南县| 卢氏县| 改则县| 泰宁县| 区。| 罗田县| 休宁县| 东方市| 青河县| 邵武市| 香港 | 保定市| 兰考县| 色达县| 岑溪市| 贵港市| 嵊州市| 新津县| 垫江县| 江油市| 正蓝旗| 乌审旗| 红桥区| 巴中市| 宿松县| 大宁县| 沾益县| 巴林右旗| 湖南省| 上饶县| 洛川县| 嘉定区| 稻城县| 罗江县| 贞丰县| 盐源县| 小金县|