javascript - 正则表达式查找 = 之后的字符串

标签 javascript regex

我对正则表达式真的很陌生,我一直在四处寻找答案,但要么它不起作用,要么我遇到某种错误,所以我会尝试问这个问题,希望有人可以指导我:)

我有一个看起来像这样的字符串:

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/

相关文章:

c#数字/数字/字符串模式的正则表达式

C# 正则表达式用于查找文本中的特定模式

javascript - 如果输入找到打开的容器,否则什么都不做

javascript - 如何清除 map 上的所有标记?

javascript - Cookie(使用 ASP :NET) (set with javascript) 读取

regex - 使用正则表达式替换字符串中字符的最后一个实例

php - 如何将 PHP 正则表达式转换为 JavaScript 正则表达式

regex - 正则表达式匹配不被括号包围的下划线?

javascript - 分别更改div的内容

javascript - 前端javascript文件放在哪里?