<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    憨厚生

    ----Java's Slave----
    ***Java's Host***

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      165 隨筆 :: 17 文章 :: 90 評論 :: 0 Trackbacks
    向后引用

    正則表達式一個最重要的特性就是將匹配成功的模式的某部分進行存儲供以后使用這一能力。請回想一下,對一個正則表達式模式或部分模式兩邊添加圓括號將導致 這部分表達式存儲到一個臨時緩沖區中。可以使用非捕獲元字符 '?:', '?=', or '?!' 來忽略對這部分正則表達式的保存。

    所捕獲的每個子匹配都按照在正則表達式模式中從左至右所遇到的內容存儲。存儲子匹配的緩沖區編號從 1 開始,連續編號直至最大 99 個子表達式。每個緩沖區都可以使用 '\n' 訪問,其中 n 為一個標識特定緩沖區的一位或兩位十進制數。

    向后引用一個最簡單,最有用的應用是提供了確定文字中連續出現兩個相同單詞的位置的能力。請看下面的句子:

    Is is the cost of of gasoline going up up?
    根據所寫內容,上面的句子明顯存在單詞多次重復的問題。如果能有一種方法無需查找每個單詞的重復現象就能修改該句子就好了。下面的 JScript 正則表達式使用一個子表達式就可以實現這一功能。

    /\b([a-z]+) \1\b/gi
    等價的 VBScript 表達式為:

    "\b([a-z]+) \1\b"
    在這個示例中,子表達式就是圓括號之間的每一項。所捕獲的表達式包括一個或多個字母字符,即由 '[a-z]+' 所指定的。該正則表達式的第二部分是對前面所捕獲的子匹配的引用,也就是由附加表達式所匹配的第二次出現的單詞。'\1'用來指定第一個子匹配。單詞邊界 元字符確保只檢測單獨的單詞。如果不這樣,則諸如 "is issued" 或 "this is" 這樣的短語都會被該表達式不正確地識別。

    在 JScript 表達式中,正則表達式后面的全局標志 ('g') 表示該表達式將用來在輸入字符串中查找盡可能多的匹配。大小寫敏感性由表達式結束處的大小寫敏感性標記 ('i') 指定。多行標記指定可能出現在換行符的兩端的潛在匹配。對 VBScript 而言,在表達式中不能設置各種標記,但必須使用 RegExp 對象的屬性來顯式設置。

    使用上面所示的正則表達式,下面的 JScript 代碼可以使用子匹配信息,在一個文字字符串中將連續出現兩次的相同單詞替換為一個相同的單詞:

    var ss = "Is is the cost of of gasoline going up up?.\n";
    var re = /\b([a-z]+) \1\b/gim;       // 創建正則表達式樣式。
    var rv = ss.replace(re,"$1");   // 用一個單詞替代兩個單詞。
    posted on 2009-07-02 09:21 二胡 閱讀(171) 評論(0)  編輯  收藏 所屬分類: JS
    主站蜘蛛池模板: 亚洲成年轻人电影网站www | 亚洲一区二区三区夜色| 亚洲伊人久久综合影院| 亚洲国产一级在线观看| 亚洲A丁香五香天堂网| 免费一级毛片一级毛片aa| 在线免费观看国产视频| 国产成人一区二区三区免费视频 | 中国精品一级毛片免费播放| 一级人做人a爰免费视频 | 亚洲av永久无码精品三区在线4| 亚洲一区二区三区免费| 国产精品免费久久久久影院| h视频在线观看免费| 中文字幕不卡免费高清视频| 亚洲免费人成在线视频观看| 亚洲国产精品免费在线观看| 日韩在线免费视频| 成人免费毛片观看| 久热免费在线视频| ww在线观视频免费观看w| 精品多毛少妇人妻AV免费久久| 亚洲AV成人无码网天堂| 午夜在线亚洲男人午在线| 一级做a爰性色毛片免费| 免费黄网站在线看| 精品香蕉在线观看免费| 天天天欲色欲色WWW免费| 国产高清免费视频| 四虎成人免费观看在线网址| 亚洲Av无码乱码在线znlu| 国产亚洲欧洲精品| 亚洲日本乱码一区二区在线二产线| 亚洲综合色丁香婷婷六月图片| 亚洲一区在线观看视频| 黑人粗长大战亚洲女2021国产精品成人免费视频| 国产亚洲精彩视频| 色www永久免费| 青娱分类视频精品免费2| 国产伦一区二区三区免费| 人人狠狠综合久久亚洲88|