2014-10-24 3 views
0

У меня есть следующая строка:Как я разделить эту строку с помощью Regex в Javascript

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+)/ 

без толка и, как вы можете видеть выше моих навыки регулярных выражений довольно ограничены.

Спасибо!

ответ

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" 
} 

Не стесняйтесь комментировать, если у вас есть какие-либо дополнительные вопросы или сталкиваются с трудностями, чтобы понять какую-либо часть моего кода ...

+0

работает как рекламируется –

+0

Святого ж ** *, Спасибо, мастер регулярных выражений! Хотелось бы, чтобы я мог дать вам больше одного взлета – Michael

+0

, что вы больше всего приветствуете ... – NazKazi

Смежные вопросы