微信

使用微信服务,更方便

职友集>程序员面试题 > 一道正则表达式题目

一道正则表达式题目

2015-02-12 06:30:02 阅读( 132 )

612人 收藏本页

标签:程序员面试题

var s = “[content="Tech"]内容1[/content]其他内容[content="Sales"]内容2[/content]“;
请使用正则取出:Tech,Sales,内容1,内容2
要求最好返回值是一个二维数组:如:a[0][0] = ‘Tech’;a[0][1] = ‘Sales’;
答案一:

var s = “[content="Tech"]内容1[/content]其他内容[content="Sales"]内容2[/content]“;
var t = s.match(/[content[^]]+].+?[/content]/ig);
var r = [];
for (var i = 0; i < t.length; i ++) {
r.push([/[content="([^"]+)”]/.exec(t[i])[1],/[content[^]]+](.+?)[/content]/.exec(t[i])[1]]);
}
alert(r);

答案二:

var s = “[content="Tech"]内容1[/content]其他内容[content="Sales"]内容2[/content]“;
alert(s.match(/(([^"]+)(?=”]))|([^[]]+(?=[/))/g));

来自分智网

下一篇:一个关于算法和编码的综合应用面试题

上一篇:Stack和Heap的区别

亲~ 如果您有更好的答案 可在评论区发表您独到的见解。

您想查看更多的信息: 面试题