如何在Javascript中使用REGEX拆分此字符串

时间:2014-10-24 01:24:34

标签: javascript regex

我有以下字符串:

01/12/2015-04/27/2015 Lecture Monday, Wednesday, Friday 12:00PM - 12:50PM, CoolGuy Hall, Room 006 01/12/2015-04/27/2015 Laboratory Thursday 10:50AM - 12:05PM, Epic Science, Room 121

我正在尝试解析它,所以我可以得到像这样的对象

{
 days: ["Monday", "Wednesday", "Friday"]
 start: "12:00PM"
 end: "12:50PM"
 location: "CoolGuy Hall, Room 006"
}

{
 days: ["Thursday"]
 start: "10:50AM"
 end: "12:05PM"
 location: "Epic Science, Room 121"
}

无论如何干净地做到这一点?我尝试使用日期分割方法:

/((..\/..\/....)-(..\/..\/....) \w+)/

无济于事,正如你上面所见,我的正则表达式技能相当有限。

谢谢!

1 个答案:

答案 0 :(得分:2)

以下代码对我有用...检查这是你要做的...... ??

var data = "01/12/2015-04/27/2015 Lecture Monday, Wednesday, Friday 12:00PM - 12:50PM, CoolGuy Hall, Room 006 01/12/2015-04/27/2015 Laboratory Thursday 10:50AM - 12:05PM, Epic Science, Room 121"

data.replace(/\d{2}\/\d{2}\/\d{4}\-\d{2}\/\d{2}\/\d{4} ([^\s]+) ([^\d]+) ([^\s]+) \- ([^,]+), ([^,]+), Room ([^\s]+)/g, "{\n\tdays: [$2]\n\tstart: \"$3\"\n\tend: \"$4\"\n\tlocation: \"$5, Room $6\"\n}\n");

输出:

{
    days: [Monday, Wednesday, Friday]
    start: "12:00PM"
    end: "12:50PM"
    location: "CoolGuy Hall, Room 006"
}
{
    days: [Thursday]
    start: "10:50AM"
    end: "12:05PM"
    location: "Epic Science, Room 121"
}

如果您有任何其他问题或在理解我的代码的任何部分时遇到困难,请随意发表评论......