微信

使用微信服务,更方便

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

一道正则表达式题目

2015-05-21 06:30:02 阅读( 192 )

1629人 收藏本页

标签:程序员面试题

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));


来自IT公司面试手册

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

上一篇:Stack和Heap的区别是什么?

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

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