Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 22.07.2015, 18:31
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

var str = '02.04 совбон 07,04 - встреча  и собзон  \n    14.04.15 - созвон в 3 часа 08-04 - созвон';

function replacer(str){
  function rep(str,p1,p2){ return p1+(p2.indexOf('встреча')==-1?'cозвон':'встреча')}
  function replac(str){ return str.replace(/^(\d+)[\D]+(\d+)[\s\.,\-]+\d*[\s\.,\-]*([a-zёа-я]*.*?)[\s]*$/g,'$1.$2 - $3;\n');}
  return str.replace(/[\n\r]/gm,'').replace(/(?:\d+[^a-zёа-я]+){2,3}[a-zёа-я].*?(?=(?:[\d]{2})|$)/gim,replac)
  .replace(/^(\d+.\d+ - )(.*)?;$/gim,rep)
}
alert(replacer(str))

Последний раз редактировалось Deff, 22.07.2015 в 19:01.
Ответить с цитированием
  #12 (permalink)  
Старый 22.07.2015, 20:20
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Гробовщик,
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>

<body>
<textarea rows="7">
02.04 - всякая фигня + созвон
07.04 - встреча пьянка гулянка
08.04 - Созвон
14.04 - созвон
16.04 - созвон
17.04 - встреча завтра
20.04 - созвон
21.04 - созвон
24.04 - созвон
02.04 созвон
07,04 - встреча
08-04 - созвон
14.04.15 - созвон в 3 часа
</textarea>
<br>
<script>
var val = document.querySelector("textarea").value.replace(/^\s+|\s+$/g, ""),
    val = val.split(/[\r\n]+/),
    val = val.map(function(d) {
        var c = [],
            a = d.match(/\d+/ig),
            b = new Date;
        a && b.setMonth(a[1] - 1, a[0]);
        a[2] && b.setHours(a[2]);
        c.push(b.toLocaleDateString() + (a[2] ? " : " + b.getHours() : ""));
        a = d.match(/[а-яё][\s\S]+$/i);
        c.push(a || "");
        return c
    });
document.write(val.join("<br>"));
</script>

</body>

</html>
Ответить с цитированием
  #13 (permalink)  
Старый 22.07.2015, 20:25
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Чуть уменьшил
var str = '02.04 совбон 07,04 - встреча  и собзон  \n    14.04.15 - созвон в 3 часа 08-04 - созвон';

function replacer(str){
  function rep(str,p1){return (p1.replace(/[^a-zёа-я]+/,'').length?(p1.indexOf('встреча')==-1?' - cозвон':' - встреча'):str)}
  return str.split(/[\n\r]+/).join('').split(/(\d{2}\D\d{2})(?:\D\d{2,4})?/).join('\n - ')
  .replace(/^.*?(\d{2})\D(\d{2}).*?$/gm,'$1.$2').replace(/ \- (.*)?$/gm,rep)
  .split(/\n - /).join(' - ').replace(/^\n+/,'');
}

alert(replacer(str))

Последний раз редактировалось Deff, 23.07.2015 в 00:44.
Ответить с цитированием
  #14 (permalink)  
Старый 23.07.2015, 12:14
Профессор
Отправить личное сообщение для Гробовщик Посмотреть профиль Найти все сообщения от Гробовщик
 
Регистрация: 10.03.2013
Сообщений: 169

tysonfury2015,
Deff,
рони,
Ребят, большое спасибо. Прям козырно.
Ответить с цитированием
  #15 (permalink)  
Старый 23.07.2015, 12:16
Профессор
Отправить личное сообщение для Гробовщик Посмотреть профиль Найти все сообщения от Гробовщик
 
Регистрация: 10.03.2013
Сообщений: 169

рони,
Не понимаю, почему не могу добавить + в карму. Пишет: "Вы должны добавить отзыв кому-то ещё, прежде чем сможете снова добавить его рони". Хотя до этого добавил карму 2-м форумчанам
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите составить регулярное выражение для числа с плавающей точкой boomrest Общие вопросы Javascript 4 25.02.2015 11:17
Помогите составить регулярное выражение yura29 Общие вопросы Javascript 3 08.06.2014 00:35
Помогите, пожалуйста, составить регулярное выражение sbudyakov Общие вопросы Javascript 5 07.08.2013 22:51
Составить регулярное выражение для гугла alerzo Events/DOM/Window 1 18.02.2013 16:55
Помогите составить регулярное выражение Ucorp Общие вопросы Javascript 1 17.10.2012 16:28