Хобрук: Ваш путь к мастерству в программировании

Regex: выберите и удалите все содержимое файла, кроме формата DATE

У меня есть файл со многими датами в формате 03/07/2017.

Например:

Мое прекрасное письмо не может быть прочитано...

acadesdirectbu.tps 10,7 k 03/07/2017 11:39 -a--

bash: удалить все файлы, кроме последней версии, в имени файла 02/04/2015 перед таблицей

Итак, я хочу сопоставить и удалить весь контент, кроме формата даты. Сначала я сделал регулярное выражение, чтобы найти все даты:

\d{1,2}/\d{1,4}/\d{1,4}

И я включаю это в другое регулярное выражение \b(?!(\d{1,2}/\d{1,4}/\d{1,4}))[\w-]+\b

Но мое второе регулярное выражение, которое должно выбирать и удалять все содержимое файла, кроме «DATE», работает не слишком хорошо.

Кто-нибудь может мне немного помочь? Итак, мой желаемый результат должен быть:

03/07/2017

02/04/2015

20.04.2017

  • Что вы хотите получить в итоге? 20.04.2017
  • привет Виктор. Я редактирую свой вопрос. В итоге хочу оставить в файлах только эти 2 даты: 03/07/2017 и 02/04/2015 20.04.2017

Ответы:


1

Вы можете использовать

Найти: (\d{1,2}/\d{1,4}/\d{1,4})|.
Заменить на: (?{1}$1\n:) . соответствует новой строке: Вкл

Примечание. Вы также можете добавить границы слов вокруг шаблона даты, чтобы сделать его более точным, \b(\d{1,2}/\d{1,4}/\d{1,4})\b|..

Теперь (\d{1,2}/\d{1,4}/\d{1,4}) будет соответствовать и записывать дату в группу 1, и, если она не найдена в текущем местоположении, . будет соответствовать любому символу там. В шаблоне замены дата заменяется на себя и после нее добавляется новая строка, а если группа 1 не совпадает, то char просто удаляется.

введите здесь описание изображения

20.04.2017
  • Большое спасибо, Виктор. Работает даже без новой строки .match ;) 20.04.2017
  • Новые материалы

    Прогресс в технологии Трансформеров часть 3
    Многомасштабный управляющий сигнальный преобразователь для бесфазного синтеза движения (arXiv) Автор: Линтао Ван , Кун Ху , Лей Бай , Юй Дин , Ваньли Оуян , Чжиюн Ван . Аннотация:..

    Представляем поддержку компонентов Vue.js. Мгновенный HMR и многое другое.
    Хотя у FuseBox уже был плагин Vue, он был базовым и не имел многих функций, которые делали работу с Vue.js такой приятной. Однако с этим выпуском мы рады сообщить, что в FuseBox..

    Приключения в Javascript, часть 1
    Я продолжаю думать о том, чтобы писать больше, но чем больше я думаю об этом, тем меньше я это делаю. Итак, сегодня я перестал думать и начал писать. Отсюда можно только спускаться… В..

    Понимание дженериков в TypeScript: подробное руководство
    Введение TypeScript, строго типизированный надмножество JavaScript, хорошо известен своей способностью улучшать масштабируемость, удобочитаемость и ремонтопригодность приложений. Одной из..

    Учебные заметки JavaScript Object Oriented Labs
    Вот моя седьмая неделя обучения программированию. После ruby ​​и его фреймворка rails я начал изучать самый популярный язык интерфейса — javascript. В отличие от ruby, javascript — это более..

    Разбор строк запроса в vue.js
    Иногда вам нужно получить данные из строк запроса, в этой статье показано, как это сделать. В жизни каждого дизайнера/разработчика наступает момент, когда им необходимо беспрепятственно..

    Предсказание моей следующей любимой книги 📚 Благодаря данным Goodreads и машинному обучению 👨‍💻
    «Если вы не любите читать, значит, вы не нашли нужную книгу». - J.K. Роулинг Эта статья сильно отличается от тех, к которым вы, возможно, привыкли . Мне очень понравилось поработать над..