【发布时间】:2021-07-29 05:03:29
【问题描述】:
我正在尝试在正则表达式中捕获匹配组,在该正则表达式内部,在该匹配组内部,我需要替换一个字符并复制匹配项。比如
foo-bar-baz
我需要做/foo-(\w+)-baz/,但我想将匹配组中的所有“r”替换为“t”并复制它,就像
foo-barbat-baz
同一字符串中可能有多个匹配项,因此 test-string-foo-bar-baz-another-foo-bar-baz 将变为 test-string-foo-barbat-baz-another-foo-barbat-baz
我知道我可以在 .replace 中使用 $1 .. 等,但这不能处理任意数量的匹配。我也知道\n(例如\1)和\k,但这些似乎都没有帮助。
我试过循环遍历匹配,但我不知道如何判断字符串中的匹配位置,所以我可以在它之后“插入”替换,然后一旦我替换它,字符串长度会发生变化,因此下一个匹配位置将不正确。
【问题讨论】:
标签: javascript regex