如何使用RegEx获取括号内外的值

时间:2012-06-28 06:50:16

标签: javascript

我想在下面的字符串中解析数据操作。我已经设法获取其中的数据,但我想解析它,以便“action”= togglestate和“params”=括号内的任何内容。我不是很擅长正则表达式,但我目前正在使用它而无济于事:(此代码在execaction函数中)

var regex = /(.*)(\((.*)\))?/gi;
var list = elem.dataset.action.match(regex);
var action = list[1];
var params = list.splice(0,2).join();

HTML:

<div data-action='toggleState(test)' onClick='execaction(this);' id='testelem'>div running execaction on click with action parameter</div>

1 个答案:

答案 0 :(得分:1)

var action = elem.dataset.action.match(/.*\(/)[0];
if (action != null) action = action.substring(0, action.length - 1);  //remove '('
var params = elem.dataset.action.match(/\(.*/)[0];
if (params != null) {
  params = params.substring(1, params.length -1);  //remove '(' and ')'
  params = params.split(','); //split parameter names
}