我的字符串就像
5blog5sett5ings5[5slider5][5][5ima5ge5]
我喜欢通过正则表达式将任何数字与末尾的第二个括号匹配。
对于这种情况,我的目标数字为5
[5]
。
我喜欢选择像图案之前的位置
5blog5sett5ings5[5slider5][
以及][5ima5ge5]
我会将它用于JavaScript字符串替换。文本可以不同,但前后模式就是这样。 For better understanding see the image.
我试过像
这样的东西(?<=.+[.+?][)\d(?=][.+?])
但没有用。
答案 0 :(得分:1)
我想你可以使用:
\[(\d+)\][^\]]+]$
var myString = "5blog5sett5ings5[5slider5][5][5ima5ge5]";
var myRegexp = /\[(\d+)\][^\]]+]$/mg;
var match = myRegexp.exec(myString);
console.log(match[1]);
答案 1 :(得分:1)
答案 2 :(得分:0)
使用此:
^.*\[(\d*)\]\[[^\]]*\]$
其中:
^
是字符串的开头.*
表示任何字符\[
和\]
匹配文字方括号(\d*)
是您想要匹配的内容[^\]]*
是最后几个括号的内容$
是字符串的结尾查看示例:
var str = "5blog5sett5ings5[5slider5][5][5ima5ge5]";
var res = str.match(/^.*\[(\d*)\]\[[^\]]*\]$/);
console.log(res[1])