Javascript正则表达式多组匹配模式

mum*_*bot 4 javascript regex grouping

我有一个关于Javascript正则表达式忍者的问题:如何使用正则表达式分组从字符串中简化变量创建?我目前没有使用任何分组工作,但我希望看到更好的方式!

字符串是:

var url = 'resources/css/main.css?detect=#information{width:300px;}';
Run Code Online (Sandbox Code Playgroud)

有效的代码是:

var styleStr = /[^=]+$/.exec(url).toString();
var id = /[^\#][^\{]+/.exec(styleStr).toString();
var property = /[^\{]+/.exec(/[^\#\w][^\:]+/.exec(styleStr)).toString();
var value = /[^\:]+/.exec(/[^\#\w\{][^\:]+[^\;\}]/.exec(styleStr)).toString();
Run Code Online (Sandbox Code Playgroud)

这给出了:

alert(id)       //information
alert(property) //width
alert(value)    //300px
Run Code Online (Sandbox Code Playgroud)

任何接受者?

Mat*_*att 6

当然..

var url = 'resources/css/main.css?detect=#information{width:300px;}';
var matches = url.match(/#([^{]+){([^:]+):([^;]+)/);
var id = matches[1];
var property = matches[2];
var value = matches[3];
Run Code Online (Sandbox Code Playgroud)