我对正则表达式真的很陌生,我一直在四处寻找答案,但要么它不起作用,要么我遇到某种错误,所以我会尝试问这个问题,希望有人可以指导我:)
我有一个看起来像这样的字符串:
str = "car[brand=saab][wheels=4]"
我不知道你是否可以直接获得几个不同的匹配,或者你是否需要不同的 .match() 但无论如何。
我需要 1 个变量中第一个 [] 之前的所有内容。
然后我需要在另一个中使用 saab,在第三个中需要 4。
最佳答案
.replace
在 javascript 中解析自定义格式时,使用回调函数是您的首选工具。考虑:
parse = function(s) {
var result = {};
s.replace(/^(\w+)|\[(.+?)=(.+?)\]/g, function($0, $1, $2, $3) {
result[$2 || "kind"] = $1 || $3;
});
return result;
}
示例:
str = "car[brand=saab][wheels=4][price=1234][morestuff=foobar]"
console.log(parse(str))
// {"kind":"car","brand":"saab","wheels":"4","price":"1234","morestuff":"foobar"}
关于javascript - 正则表达式查找 = 之后的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16775556/