通过正则表达式匹配到通过JavaScript替换的字符串

通过正则表达式匹配到通过JavaScript替换的字符串,javascript,regex,Javascript,Regex,我的绳子像 5blog5set5ings5[5slider5][5][5ima5ge5] 我喜欢用正则表达式将任何数字从末尾匹配到第二个括号中 在这种情况下,我的目标数字是5到[5] 我喜欢选择之前的位置模式,如 5blog5set5ings5[5slider5][和类似于][5ima5ge5]的后模式 我将使用它来替换JavaScript字符串。文本可以不同,但前后的模式是这样的 我试过类似的东西 (?<=.+[.+?][)\d(?=][.+?]) (?我想你可以使用: \[(\d+

我的绳子像

5blog5set5ings5[5slider5][5][5ima5ge5]

我喜欢用正则表达式将任何数字从末尾匹配到第二个括号中

在这种情况下,我的目标数字是
5
[5]

我喜欢选择之前的位置模式,如
5blog5set5ings5[5slider5][
和类似于
][5ima5ge5]的后模式

我将使用它来替换JavaScript字符串。文本可以不同,但前后的模式是这样的

我试过类似的东西

(?<=.+[.+?][)\d(?=][.+?])
(?我想你可以使用:

\[(\d+)\][^\]]+]$

var myString=“5blog5set5ings5[5slider5][5][5ima5ge5]”;
var myRegexp=/\[(\d+\][^\]+]$/mg;
var match=myRegexp.exec(myString);
console.log(匹配[1]);
使用以下命令:

^.*\[(\d*)\]\[[^\]]*\]$
其中:

  • ^
    是字符串的开头
  • *
    表示任何字符
  • \[
    \]
    匹配文本方括号
  • (\d*)
    是您想要匹配的
  • [^\]]*
    是最后两个括号的内容
  • $
    是字符串的结尾
请参见一个示例:

var str=“5blog5set5ings5[5slider5][5][5ima5ge5]”;
var res=str.match(/^.*\[(\d*)\]\[^\]*\]$/);

log(res[1])
我想您可以使用一个来检查是否有
]
和一个以上的
[
]
直到结束

\d+(?=]\[[^\]]*]$)


(请注意,您尝试过的lookbehind在js regex中不可用)

到目前为止您尝试过什么?您使用的是哪种编程语言?为什么您认为正则表达式是这里的答案,而不是字符串替换?您实际上想做什么替换?我尝试了类似的方法(?如果您只想匹配数字,请尝试OP只想匹配数字5。@它在组1上匹配的魂器。Sry,您是对的,regex101只显示组0。