javascript得到括号中的字符串匹配正则表达式

时间:2013-04-23 22:10:46

标签: javascript jquery regex match parentheses

我有一个完整的字符串,包含这样的东西[(data1.1)(data1.2)] [(data2.1)(data2.1)]

我读过你可以用匹配功能和正则表达式做一些聪明的事情。我想要从括号中加载数据的两个数组。我到底怎么做?请以我的字符串为例。

2 个答案:

答案 0 :(得分:1)

我想出了这个可恶的:

var array = s.replace(/^\[|\]$/g,'').split('][').map(function(a){    
    return a.replace(/^\(|\)$/g,'').split(')(')
});

http://jsfiddle.net/8kLhc/

此外,如果您故意保存或传输此类数据,那么您应该真正了解JSON或正确的数据库设计。

答案 1 :(得分:0)

我不完全确定你追求的是什么,但我假设这是

var what = '[(data1.1)(data1.2)][(data2.1)(data2.2)]',
    have = [],
    you = [],
    tried = /\[\(([^)]*)\)\(([^)]*)\)\]/g;
what.replace(tried, function (use, brain, forthis) {
    you.push((have.push(brain), forthis));
});
console.log(have, you);
// ["data1.1", "data2.1"] ["data1.2", "data2.2"]