как вставить переменную в правило регулярки
есть пример не могу правильно вставить переменную в правило регулярки
var month = ['января','февраля','марта','апреля','мая','июня','июля','августа','сентября','октября','ноября','декабря', 'январь','февраль','март','апрель','май','июнь','июль','август','сентябрь','октябрь','ноябрь','декабрь' ]; var monthList = month.join("|"); var myString = "12.03.04 июнь 10:00"; var pattern = /([0-9]{1,4}|monthList)/gi; console.log('d'); var match; while (match = pattern.exec(myString)){ console.log('Match: "' + match[0] + '" first group: -> "' + match[1] + '" second group -> ' + match[2]); }в правило /([0-9]{1,4}|monthList)/gi; вместо monthList нужно вставить переменную. не могу понять как это сделать. Спасибо |
переменную monthList))
|
prog77,
var month = ['января','февраля','марта','апреля','мая','июня','июля','августа','сентября','октября','ноября','декабря', 'январь','февраль','март','апрель','май','июнь','июль','август','сентябрь','октябрь','ноябрь','декабрь' ]; var monthList = month.join("|"); var pattern = new RegExp("[0-9]{1,4}\\s*?(" +monthList + ")" ,"g"); var myString = "12.03.04 июнь 10:00"; var match; while ((match = pattern.exec(myString))!= null){ console.log('Match: "' + match[0] + '" first group: -> "' + match[1] + '" second group -> ' + match[2]); } |
рони,
мне для моей задачи нужно что бы каждое число было отдельно в массиве так же и июнь, просто у меня задача неординарная может ее и можно решить по другому но сейчас нужно так 12 03 04 июнь 10 00 всего 6 ячеек |
У вас просту возвращаем месяц и число, а мне нужно все цифры по отдельности в массиве. Конечно желательно вместо месяца сразу вернуть число июнь => 07
|
prog77,
var pattern = new RegExp("([0-9]{1,4}|" +monthList + ")" ,"g"); |
Цитата:
|
prog77,
var month = ['января','февраля','марта','апреля','мая','июня','июля','августа','сентября','октября','ноября','декабря', 'январь','февраль','март','апрель','май','июнь','июль','август','сентябрь','октябрь','ноябрь','декабрь' ]; var monthList = month.join("|"); var pattern = new RegExp("([0-9]{1,4}|" +monthList + ")" ,"g"); var myString = "12.03.04 июнь 10:00"; var match = myString.match(pattern).map(function(el) { var i = month.indexOf(el); return i != -1 ? ("0" + (i % 12 + 1)).substr(-2) : el }); alert(match) |
да у меня сейчас 8-й месяц идет:D Спасибо большое.
|
Часовой пояс GMT +3, время: 11:50. |