正则表达式全局匹配模式(g修饰符)
正则表达式g修饰符:
g修饰符⽤语规定正则表达式执⾏全局匹配,也就是在到第⼀个匹配之后仍然会继续查。
语法结构:
构造函数⽅式:
new RegExp("regexp","g")
对象直接量⽅式:
/regexp/g
浏览器⽀持:
IE浏览器⽀持此元字符。
⽕狐浏览器⽀持此元字符。
⾕歌浏览器⽀持此元字符。
实例代码:
实例⼀:
var str="this is an antzone good";
var reg=/an/;
console.log(str.match(reg));查匹配的字符串函数
以上代码只能够匹配第⼀个"an",因为并没有进⾏全局匹配,在第⼀个匹配成功之后,就不再继续匹配了。
实例⼆:
var str="this is an antzone good";
var reg=/an/g;
console.log(str.match(reg));
以上代码能够匹配到两个"an"。
下⾯是补充
本⽂章来详细介绍js中正则表达式的全局匹配模式 /g⽤法,代码如下:
var str = "123#abc";
var re = /abc/ig;
console.st(str)); //输出ture
console.st(str)); //输出false
console.st(str)); //输出ture
console.st(str)); //输出false
在创建正则表达式对象时如果使⽤了“g”标识符或者设置它了的g lobal属性值为ture时,那么新创建的正则表达式对象将使⽤模式对要将要匹配的字符串进⾏全局匹配。在全局匹配模式下可以对指定要查的字符串执⾏多次匹配。每次匹配使⽤当前正则对象的lastIndex属性的值作为在⽬标字符串中开始查的
起始位置。lastIndex属性的初始值为0,到匹配的项后lastIndex的值被重置为匹配内容的下⼀个字符在字符串中的位置索引,⽤来标识下次执⾏匹配时开始查的位置,如果不到匹配的项lastIndex的值会被设置为0。当没有设置正则对象的全局匹配标志时lastIndex属性的值始终为0,每次执⾏匹配仅查字符串中第⼀个匹配的项。可以通下⾯的代码来查看在执⾏匹配相应的lastIndex 属性的值,代码如下:
var str = "123#abc";
var re = /abc/ig;
console.st(str)); //输出ture
console.log(re.lastIndex); //输出7
console.st(str)); //输出false
console.log(re.lastIndex); //输出0
console.st(str)); //输出ture
console.log(re.lastIndex); //输出7
console.st(str)); //输出false
console.log(re.lastIndex); //输出0

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。