正则表达式(正则表达式),替换javascript中的第二次出现

Min*_*ure 5 javascript regex string replace pattern-matching

这是正在使用的字符串的示例:

xxxxxx[xxxxxx][7][xxxxxx][9][xxxxxx]
Run Code Online (Sandbox Code Playgroud)

我在匹配第二次匹配时遇到了一些麻烦,我想在第二个方括号内输入一个数字.我有一些正则表达式找到第一个带字母数字的方形支持:

\[+[0-9]+\]
Run Code Online (Sandbox Code Playgroud)

这返回[7],但我想返回[9].

我正在使用Javascript的替换函数,以下正则表达式匹配正则表达式测试应用程序中的第二次出现([9]),但它在Javascript替换函数中没有正确替换:

(?:.*?(\[+[0-9]+\])){2}
Run Code Online (Sandbox Code Playgroud)

我的问题是我如何使用上面的正则表达式替换Javasctipt中的[9],或者是否有另一个正则表达式匹配第二次出现的数字.

干杯!

mar*_*cog 3

如果xxx只是任何字符串,不一定是数字,那么这可能就是您想要的:

(\[[0-9]+\]\[.*?\])\[([0-9]+)\]
Run Code Online (Sandbox Code Playgroud)

这将查找 中的第二个数字[]。将其替换为$1[<replacement>]. 在 rubular 上玩它

您的正则表达式无法按预期工作,因为后面的组仅+最终保留最后一个 [xxx].