千家信息网

JavaScript RegExp对象有什么属性

发表于:2024-11-22 作者:千家信息网编辑
千家信息网最后更新 2024年11月22日,这篇文章将为大家详细讲解有关JavaScript RegExp对象有什么属性,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。JavaScript Reg
千家信息网最后更新 2024年11月22日JavaScript RegExp对象有什么属性

这篇文章将为大家详细讲解有关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对象有什么属性就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

0