我很难获得一个看似简单的正则表达式。我试图抓住字符串中方括号之间最后出现的单词字符。我的代码:
pattern = /\[(\w+)\]/g;
var text = "item[gemstones_attributes][0][shape]";
if (pattern.test(text)) {
alert(RegExp.lastMatch);
}
当我希望它输出“形状”时,上面的代码正在输出“gemstones_attributes”。为什么这个正则表达式不起作用,或者我获得最后一场比赛的方法有问题?我确信我犯了一个明显的错误——正则表达式从来都不是我的字符串套装。
编辑: 在某些情况下,字符串不会以右括号终止。