国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Javascript 正則使用第一篇

CoXie / 2766人閱讀

摘要:參數說明此處賦值,為了更好的觀察的值,位置運行結果運行結果運行結果第一次匹配第二次匹配第三次匹配第四次匹配第五次匹配第六次匹配運行結果運行結果如果使用了全局匹配則只顯示匹配到的全部字符串。也沒有屬性運行結果運行結果

replace() 參數說明

@param match
The matched substring. (Corresponds to $&.)

@param p1

@param p2

@param p3
The nth parenthesized submatch string,
provided the first argument to replace was a RegExp object.
(Corresponds to $1, $2, etc. above.) For example,
if /(a+)(+)/, was given, p1 is the match for a+, and p2 for +.

@param offset
The offset of the matched substring within the total string being examined. (For example,
if the total string was "abcd",
and the matched substring was "bc",
then this argument will be 1.)

@param string
The total string being examined.

@returns {*|string}

function replacer(match, p1, p2, p3, offset, string) {     
    console.log("match: " + match);
    console.log("string: " + string);
    //p1 is nondigits, p2 digits, and p3 non-alphanumerics
    console.log("p1: " + p1);
    console.log("p2: " + p2);
    console.log("p3: " + p3);   
    //此處賦值,為了更好的觀察p1,p3的值,位置
    p1 = 1;
    p3 = 3;    
   return [p1, p2, p3].join(" - ");
}
newString = "111abc12345#$*%".replace(/([^d]*)(d*)([^w]*)/, replacer);
console.log(newString);
運行結果:
 * match: 111
 * string: 111abc12345#$*%
 * p1:
 * p2: 111
 * p3:
 * 1 - 111 - 3abc12345#$*%
function replacer2(match, p1, p2, p3, offset, string) {
    console.log("match: " + match);
    console.log("string: " + string);
    // p1 is nondigits, p2 digits, and p3 non-alphanumerics
    console.log("p1: " + p1);
    console.log("p2: " + p2);
    console.log("p3: " + p3);
    return [p1, p2, p3].join(" - ");
}
newString2 = "abc12345xxx#$*%".replace(/([^d]*)(d*)([^w]*)/, replacer2);
console.log(newString2);
運行結果:
 * match: abc12345
 * string: abc12345xxx#$*%
 * p1: abc
 * p2: 12345
 * p3:
 * abc - 12345 - xxx#$*%
function replacer3(match, p1, p2, p3, offset, string) {
    console.log("match: " + match);
    console.log("string: " + string);
    // p1 is nondigits, p2 digits, and p3 non-alphanumerics
    console.log("p1: " + p1);
    console.log("p2: " + p2);
    console.log("p3: " + p3);
    return [p1, p2, p3].join(" - ");
}
newString3 = "1111abc12345xxx#$*%2392039abc12345xxx#$*%".replace(/([^d]*)(d*)([^w]*)/g, replacer3);
console.log(newString3);
運行結果:
 * 第一次匹配

 * match: 1111 
 * string: 1111abc12345xxx#$*%2392039abc12345xxx#$*%
 * p1:
 * p2: 1111
 * p3:

 * 第二次匹配

 * match: abc12345
 * string: 1111abc12345xxx#$*%2392039abc12345xxx#$*%
 * p1: abc
 * p2: 12345
 * p3:


 * 第三次匹配

 * match: xxx#$*%2392039
 * string: 1111abc12345xxx#$*%2392039abc12345xxx#$*%
 * p1: xxx#$*%
 * p2: 2392039
 * p3:


 * 第四次匹配

 * match: abc12345
 * string: 1111abc12345xxx#$*%2392039abc12345xxx#$*%
 * p1: abc
 * p2: 12345
 * p3:

 * 第五次匹配

 * match: xxx#$*%
 * string: 1111abc12345xxx#$*%2392039abc12345xxx#$*%
 * p1: xxx#$*%
 * p2:
 * p3:

 * 第六次匹配

 * match:
 * string: 1111abc12345xxx#$*%2392039abc12345xxx#$*%
 * p1:
 * p2:
 * p3:
 * - 1111 - abc - 12345 - xxx#$*% - 2392039 - abc - 12345 -     xxx#$*% -  -  -  -
match()
function match1() {
    var str = "For more information, see Chapter 3.4.5.1",
        re = /(chapter d+(.d)*)/i,
        found = str.match(re);

    console.dir(found);
}

match1();
運行結果:
 * Array[3]
 * 0: "Chapter 3.4.5.1"
 * 1: "Chapter 3.4.5.1"
 * 2: ".1"
 * index: 26
 * input: "For more information, see Chapter 3.4.5.1"
 * length: 3
 *
 * [input]:
 *         which contains the original string that was parsed
 * [0]:
 *     the first match
 * [1]:
 *     the first value remembered from (Chapter d+(.d)*).
 * [2]:
 *     ".1" is the last value remembered from (.d).
 * ---------------------------------------------------
 */
function match2() {
    var str = "For more information, see Chapter 3.4.5.1",
        re = /(chapter d+(.d)*)/gi,
        found = str.match(re);

    console.dir(found);
}

match2();
運行結果:
 * Array[1]
 * 0: "Chapter 3.4.5.1"
 * length: 1
 *
 * 如果使用了全局匹配g, 則只顯示匹配到的全部字符串。
 * 也沒有input屬性
function match3() {
    var str = "qbylucky@gmail.com",
        re = /(.*)@(.*).(.*)/,
        found = str.match(re);

    console.dir(found);
}

match3();
運行結果:
 * Array[4]
 * 0: "qbylucky@gmail.com"
 * 1: "qbylucky"
 * 2: "gmail"
 * 3: "com"
 * index: 0
 * input: "qbylucky@gmail.com"
 * length: 4
function match4() {
    var str = "qbylucky@gmail.com",
        re = /(.*)@(.*).(.*)/g,
        found = str.match(re);

    console.dir(found);
}

match4();
運行結果:
 * Array[1]
 * 0: "qbylucky@gmail.com"
 * length: 1

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/78085.html

相關文章

  • JavaScript正則表達式學習筆記(二) - 打怪升級

    摘要:本文接上篇,基礎部分相對薄弱的同學請移步正則表達式學習筆記一理論基礎。正則表達式標志符全局匹配,即找到所有匹配的。方法返回結果的格式不一致問題這個問題上文正則表達式學習筆記一理論基礎也有體現,這里再單獨拿來說一說,以加深記憶。 showImg(https://segmentfault.com/img/remote/1460000014261596?w=600&h=338); 本文接上篇...

    Jioby 評論0 收藏0
  • 正則表達式之初入江湖

    摘要:拿舉例子只想說明你總會在一些陰暗的角落遇到正則表達式,為了到時候不至于一頭霧水,我們最好簡單的了解一下正則表達式的使用。 為什么要學正則表達式 很多人對正則表達式的認知只是在進行表單驗證的時候在網上搜一段正則表達式進行copy,實際工作上好像很難遇到大段的正則表達式 我第一次看到大量的正則使用是在jQuery源碼中,當時看的頭疼只好草草的看下大概思路不了了之,但是到今天我依然不認為這種...

    caige 評論0 收藏0
  • task0002(一)- JavaScript數據類型及語言基礎

    摘要:不過讓流行起來的原因應該是是目前所有主流瀏覽器上唯一支持的腳本語言。經過測試,數字字符串布爾日期可以直接賦值,修改不會產生影響。再考慮對象類型為或者的情況。對于結果聲明其類型。判斷對象的類型是還是,結果類型更改。 轉載自我的個人博客 歡迎大家批評指正 1. 第一個頁面交互 這里最需要學習的老師的代碼中,每一部分功能都由函數控制,沒有創建一個全部變量。且最后有一個函數來控制執行代碼...

    elarity 評論0 收藏0
  • 正則表達式

    摘要:本文內容共正則表達式火拼系列正則表達式回溯法原理學習正則表達式,是需要懂點兒匹配原理的。正則表達式迷你書問世了讓幫你生成和解析參數字符串最全正則表達式總結驗證號手機號中文郵編身份證地址等是正則表達式的縮寫,作用是對字符串執行模式匹配。 JS 的正則表達式 正則表達式 一種幾乎可以在所有的程序設計語言里和所有的計算機平臺上使用的文字處理工具。它可以用來查找特定的信息(搜索),也可以用來查...

    bang590 評論0 收藏0
  • JavasScript重難點知識

    摘要:忍者級別的函數操作對于什么是匿名函數,這里就不做過多介紹了。我們需要知道的是,對于而言,匿名函數是一個很重要且具有邏輯性的特性。通常,匿名函數的使用情況是創建一個供以后使用的函數。 JS 中的遞歸 遞歸, 遞歸基礎, 斐波那契數列, 使用遞歸方式深拷貝, 自定義事件添加 這一次,徹底弄懂 JavaScript 執行機制 本文的目的就是要保證你徹底弄懂javascript的執行機制,如果...

    forsigner 評論0 收藏0

發表評論

0條評論

CoXie

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<