这是正在使用的字符串的示例:
xxxxxx[xxxxxx][7][xxxxxx][9][xxxxxx]
我在匹配第二次匹配时遇到了一些麻烦,我想在第二个方括号内输入一个数字.我有一些正则表达式找到第一个带字母数字的方形支持:
\[+[0-9]+\]
这返回[7],但我想返回[9].
我正在使用Javascript的替换函数,以下正则表达式匹配正则表达式测试应用程序中的第二次出现([9]),但它在Javascript替换函数中没有正确替换:
(?:.*?(\[+[0-9]+\])){2}
我的问题是我如何使用上面的正则表达式替换Javasctipt中的[9],或者是否有另一个正则表达式匹配第二次出现的数字.
干杯!
最佳答案
如果xxx只是任何字符串,而不一定是数字,那么这可能就是你想要的:
(\[[0-9]+\]\[.*?\])\[([0-9]+)\]
这将在[]中查找第二个数字.将其替换为$1 [< replacement>]. Play with it on rubular.
您的正则表达式无法按预期工作,因为后面的组最终只能保留最后一个[xxx].