这篇文章将为大家详细讲解有关JavaScript RegExp对象有什么属性,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
JavaScript RegExp对象有5个属性,分别是:global、ignoreCase、multiline、source和lastIndex。global、ignoreCase、multiline用来检测正则表达式是否有g标志、i标志和m标志,如果该标志被设置,返回true,否则返回false。
JavaScript RegExp对象有什么属性
例如,检测正则表达式是否带有修饰符:
alert(/abc/g.global);//显示true
alert(/^abc$/.global);//显示false
alert(/^[0-9a-z]{1,}$/.ignoreCase);//显示false
alert(/^[0-9a-z]{1,}$/i.ignoreCase);//显示true
source属性用来返回正则表达式的源文本,该文本不包括正则表达式字面量使用的定界符,也不包括标志g、i、m。
例如:
alert(/abc/.source);//显示abc
alert(/^abc$/.source);//显示^abc$
alert(/www.itxueyuan.org/ig.source);//显示www.itxueyuan.org
alert(/^[0-9a-z]{1,}$/i.source);//显示^[0-9a-z]{1,}$
lastIndex属性用于规定下次匹配的起始位置。
lastIndex属性存放一个整数,规定下次匹配的起始位置,该位置是上一次匹配成功的文本后面的第一个字符的位置。
JavaScript RegExp对象有什么属性
下来看下面一个例子:
var str="Itxueyuan's domain is www.itxueyuan.org.Welcome to itxueyuan!";
var pattern=new RegExp("itxueyuan","ig");
var i=1;
while(pattern.test(str)){
i++;
alert("第"+i+"次匹配的的起始位置:"+pattern.lastIndex);
}
运行结果:
第2次匹配的起始位置:9
第3次匹配的起始位置:35
第4次匹配的起始位置:61
上面的例子说明,test()方法是以lastIndex属性所指的位置作为下次检索的起始点。第一次检索,lastIndex=0;第二次检索,lastIndex=9;第三次检索,lastIndex=35;第四次检索,lastIndex=61。
这样,就可以通过反复调用test()方法来遍历一个字符串中的所有匹配文本。
lastIndex属性是可读可写的,只要目标字符串的下一次搜索开始,就可以对它进行设置。当test()方法再也找不到可以匹配的文本时,会自动把lastIndex属性重置为0。
注意:
不具有标志g和不表示全局模式的RegExp对象不能使用lastIndex属性。
如果在成功地匹配了某个字符串之后就开始检索另一个新的字符串,需要手动地把这个属性设置为0。
关于JavaScript RegExp对象有什么属性就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。