• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    javascript正则表达式标记中/g /i /m的用法,以及实例

    一,js正则标志/g,/i,/m说明

    1,/g (globle)表示该表达式将用来在输入字符串中查找所有可能的匹配,全文查找出现的所有匹配字符,返回的结果可以是多个。如果不加/g最多只会匹配一个
    2,/i (ignorCase)表示匹配的时候不区分大小写,
    忽略大小写,注意仅是忽略大小写,并不忽略全半角。
    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 ($')

    该特性是非标准的,请尽量不要在生产环境中使用它!

    rightContext 非标准属性是正则表达式的静态和只读属性,含有最新匹配的右侧子串。 RegExp.$' 是这个属性的别名。

    语法

    RegExp.rightContext
    RegExp["$'"]

    描述
    rightContext 属性是静态的,不是正则表达式独立对象的属性。反之,你应始终将其使用为 RegExp.rightContext 或者 RegExp["$'"]。

    rightContext 属性的值是只读的,并且会在匹配成功时修改。

    你不能使用属性访问器(RegExp.$')来使用简写的别名,因为解析器在这里会将其看做字符串的开始,并抛出 SyntaxError。使用 方括号符号来访问属性。

    示例
    使用 rightContext 和 $'

    var re = /hello/g;
    re.test('hello world!');
    RegExp.rightContext; // " world!"
    RegExp["$'"]; // " world!"

    leftContext 非标准属性是正则表达式的静态和只读属性,含有最新匹配的左侧子串。 RegExp.$` 是这个属性的别名。

    语法

    RegExp.leftContext
    RegExp['$`']

    描述

    leftContext 属性是静态的,不是正则表达式独立对象的属性。反之,你应始终将其使用为 RegExp.leftContext 或者 RegExp['$`']。
    leftContext 属性的值是只读的,并且会在匹配成功时修改。

    你不能使用属性访问器(RegExp.$`)来使用简写的别名,因为解析器在这里会将其看做模板字符串的开始,并抛出 SyntaxError 。使用 方括号符号来访问属性。

    示例
    使用 leftContext 和 $`

    var re = /world/g;
    re.test('hello world!');
    RegExp.leftContext; // "hello "
    RegExp['$`']; // "hello "

    规范

    非标准。并不是任何现行规范的一部分。

    上一篇:javascript中10个正则表达式使用介绍基础篇
    下一篇:javascript正则表达式RegExp入门图文教程
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    javascript正则表达式标记中/g /i /m的用法,以及实例 javascript,正则,表达式,标记,