Skip to content
陈广亮的技术博客
Go back

正则表达式的复制与 lastIndex

RegExp.prototype.clone = function () {
  var ret = new RegExp(this);
  ret.lastIndex = this.lastIndex;
  return ret;
};

lastIndex 属性

只有设置了全局标志 g 的正则才有这个属性,表示从字符串的第几个字符开始匹配。

var re = /te/g;
re.test("test"); // true, lastIndex: 2
re.test("test"); // false, lastIndex: 0(超出后重置)
re.test("test"); // true

复制正则表达式时需要复制 lastIndex 属性,否则会影响使用。


Share this post on:

Previous Post
Checkbox 模糊状态(indeterminate)
Next Post
正则表达式:代码风格互转