Regex Ошибка получения конкретного строкового слова из имени файла - PullRequest
0 голосов
/ 28 февраля 2020

Facebook Instagram WhatApps Data_5421-9-41491_112018_12102018 (3).txt.gz

Facebook Instagram WhatApps Data_5421-9-41491_112018_12102018.txt.gz

Так что это имена файлов выше, поэтому мне нужно регулярное выражение, которое выбирает только часть 112018 из имен файлов выше. Есть ли способ сделать это с помощью регулярных выражений?

Ответы [ 2 ]

0 голосов
/ 28 февраля 2020

Я думаю, это будет работать: ((?:0|1)\d20(?:0|1|2)\d)

(?:0|1)\d для месяца 20(?:0|1|2)\d для года

Формат MMYYYY

правильный ответ: (?! ) (\ d {6}) (? = )

0 голосов
/ 28 февраля 2020

Здесь вы go:

^.*_(.*)_.*$

См. здесь

Если вы хотите быть более точным go для этого :

^.*_(\d{6})_.*$

  • ^ - начинается с
  • . * - любое количество символов. Будет жадным. То же самое касается последних двух _ _
  • _ - именно этого символа.
  • $ - заканчиваются
  • \ d {6} - 6 цифрами.
  • То, что в скобках, называется группой захвата - так что это единственная возвращаемая часть. Смотрите скриншот. Если бы вы перешли по ссылке @ Datafeed11 - вы бы увидели, что она работает. Группа 1 ...

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...