婷婷久久综合九色综合,欧美成色婷婷在线观看视频,偷窥视频一区,欧美日本一道道一区二区

<tt id="bu9ss"></tt>
  • <span id="bu9ss"></span>
  • <pre id="bu9ss"><tt id="bu9ss"></tt></pre>
    <label id="bu9ss"></label>

    當前位置:首頁 >  站長 >  編程技術 >  正文

    javascript正則表達式標記中/g /i /m的用法,以及實例

     2020-12-15 15:49  來源: 腳本之家   我來投稿 撤稿糾錯

      阿里云優(yōu)惠券 先領券再下單

    正則的思想都是一樣的,但是具體的寫法會有所不同,在這里提到的/g,/i,/m在其他的地方也許就不能用了,需要的朋友可以參考下

    一,js正則標志/g,/i,/m說明

    1,/g (globle)表示該表達式將用來在輸入字符串中查找所有可能的匹配,全文查找出現(xiàn)的所有匹配字符,返回的結果可以是多個。如果不加/g最多只會匹配一個

    2,/i (ignorCase)表示匹配的時候不區(qū)分大小寫,

    忽略大小寫,注意僅是忽略大小寫,并不忽略全半角。

    3,/m (mutiple)表示多行匹配,多行查找什么是多行匹配呢?就是匹配換行符兩端的潛在匹配。影響正則中的^$符號

    m 影響 ^、$。

    若不指定 m,則:^ 只在字符串的最開頭,$ 只在字符串的最結尾。即:匹配整個串的開始和結束

    若指定 m,則:^ 在字符串每一行的開頭,$ 在字符串每一行的結尾。即:匹配每一行的開始和結束

    二,實例說明

    1,/g的用法

    <script type="text/javascript">
    str = "tankZHang (231144)"+
    "tank ying (155445)";
    res = str.match(/tank/); //沒有加/g
    alert(res);     //顯示一個tank

    res = str.match(/tank/g); //加了/g
    alert(res);     //顯示為tank,tank
    </script>

    2,/i的用法

    <script type="text/javascript">
    str = "tankZHang (231144)"+ "tank ying (155445)";
     
    res = str.match(/zhang/); 
    alert(res);     //顯示為null
     
    res = str.match(/zhang/i); //加了/i
    alert(res);     //顯示為ZHang
    </script>

    3,/m的用法

    <script type="text/javascript">
    var p = /$/mg;
    var s = '1\n2\n3\n4\n5\n6';
    alert(p.test(s)); //顯示為true
    alert(RegExp.rightContext.replace(/\x0A/g, '\\a')); //顯示\a2\a3\a4\a5\a6
    alert(RegExp.leftContext); //顯示為豎的2345
    alert(RegExp.rightContext); //顯示為6
     
    var p = /$/g;
    var s = '1\n2\n3\n4\n5\n6';
    alert(p.test(s)); //顯示為true
    alert(RegExp.rightContext.replace(/\x0A/g, '\\a')); //什么都不顯示
    alert(RegExp.leftContext); //顯示為豎的123456
    alert(RegExp.rightContext); //什么都不顯示
     
    var p = /^/mg;
    var s = '1\n2\n3\n4\n5\n6';
    alert(p.test(s)); //顯示為true
    alert(RegExp.rightContext.replace(/\x0A/g, '\\a')); //顯示為1\a2\a3\a4\a5\a6
    alert(RegExp.leftContext);  //顯示為豎的12345
    alert(RegExp.rightContext); //顯示為6
    </script>

    //從上例中可以看出/m影響的^$的分割方式

    上面說的三個例子,/i,/g,/m分開來說的,可以排列組合使用的。個人覺得/m沒有多大用處

    補充說明:

    \n匹配一個換行符。等價于 \x0a 和 \cJ

    rightContext

    RegExp.rightContext ($')

    該特性是非標準的,請盡量不要在生產環(huán)境中使用它!

    rightContext 非標準屬性是正則表達式的靜態(tài)和只讀屬性,含有最新匹配的右側子串。 RegExp.$' 是這個屬性的別名。

    語法

    RegExp.rightContext

    RegExp["$'"]

    描述

    rightContext 屬性是靜態(tài)的,不是正則表達式獨立對象的屬性。反之,你應始終將其使用為 RegExp.rightContext 或者 RegExp["$'"]。

    rightContext 屬性的值是只讀的,并且會在匹配成功時修改。

    你不能使用屬性訪問器(RegExp.$')來使用簡寫的別名,因為解析器在這里會將其看做字符串的開始,并拋出 SyntaxError。使用 方括號符號來訪問屬性。

    示例

    使用 rightContext 和 $'

    var re = /hello/g;

    re.test('hello world!');

    RegExp.rightContext; // " world!"

    RegExp["$'"]; // " world!"

    leftContext 非標準屬性是正則表達式的靜態(tài)和只讀屬性,含有最新匹配的左側子串。 RegExp.$` 是這個屬性的別名。

    語法

    RegExp.leftContext

    RegExp['$`']

    描述

    leftContext 屬性是靜態(tài)的,不是正則表達式獨立對象的屬性。反之,你應始終將其使用為 RegExp.leftContext 或者 RegExp['$`']。

    leftContext 屬性的值是只讀的,并且會在匹配成功時修改。

    你不能使用屬性訪問器(RegExp.$`)來使用簡寫的別名,因為解析器在這里會將其看做模板字符串的開始,并拋出 SyntaxError 。使用 方括號符號來訪問屬性。

    示例

    使用 leftContext 和 $`

    var re = /world/g;

    re.test('hello world!');

    RegExp.leftContext; // "hello "

    RegExp['$`']; // "hello "

    規(guī)范

    非標準。并不是任何現(xiàn)行規(guī)范的一部分。

    來源:腳本之家

    鏈接:https://www.jb51.net/article/181237.htm

    申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!

    相關文章

    熱門排行

    信息推薦