javascript正则表达式标记中/g /i /m的用法,以及实例
正则的思想都是一样的,但是具体的写法会有所不同,在这里提到的/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"> res = str.match(/tank/g); //加了/g 2,/i的用法 <script type="text/javascript"> 3,/m的用法 <script type="text/javascript"> //从上例中可以看出/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 " 规范 非标准。并不是任何现行规范的一部分。 (编辑:焦作站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |