代码之家  ›  专栏  ›  技术社区  ›  Mystical

如何克隆正则表达式?关闭

  •  -5
  • Mystical  · 技术社区  · 8 月前

    如何在javascript中克隆正则表达式? 我想知道如何做到以下几点:

    1. 浅层克隆regex本身,不包括状态属性,如 lastIndex .
    2. 深度克隆regex对象,包括状态属性,如 lastIndex .
    1 回复  |  直到 8 月前
        1
  •  3
  •   Ry- Vincenzo Alcamo    8 月前

    浅层克隆regex本身,不包括以下属性 lastIndex .

    正则表达式由 pattern flags .

    const copy = new RegExp(original.source, original.flags);
    

    深度克隆regex对象,包括以下属性 lastIndex .

    lastIndex 是唯一的州。

    const copy = new RegExp(original.source, original.flags);
    copy.lastIndex = original.lastIndex;