извлекать текст из ячеек после строкового шаблона в Excel - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть электронная таблица, и в каждой ячейке есть кусок данных, но я заинтересован только в извлечении определенной части информации, после включения ПЕРВОЙ даты вплоть до примера слова «База»:

ОТ ->

[extra data] 10APR18 [in between text] 11JUL18 [in between text] etc. Base [extra data]

TO ->

10APR18 [in between text] 11JUL18 [in between text] etc.

Я не слишком знаком с необходимым синтаксисом, но я предполагаю, что это будет что-то, что все строки извлекают после: "(число) (число) (буква) (буква) (буква) (число) ( число) "до" База "

Если бы кто-нибудь мог пролить свет на решение или указать мне правильное направление, я был бы невероятно благодарен. Спасибо!

1 Ответ

0 голосов
/ 07 ноября 2018

Попробуйте что-то вроде этого:

(\d{2}[A-Za-z]{3}\d{2}.*)Base

Пример: https://regex101.com/r/AO1qmW/1

Пояснение:

  • (\d{2}[A-Za-z]{3}\d{2}.*) - захват с даты до Base
    • \d{2} - Совпадение двух цифр
    • [A-Za-z]{3} - Совпадение трех букв, прописных или строчных
    • \d{2} - сопоставить еще две цифры
    • .* - сопоставить что-либо после даты (до Base)
  • Base - соответствует Base, но не захватывает

Вы также можете использовать позитивный взгляд, чтобы не беспокоиться о захвате / не захвате групп, поскольку вы будете соответствовать только тому, что вы хотите: \d{2}[A-z]{3}\d{2}.*(?=Base)

Единственным отличием является удаление круглых скобок группы и замена Base на (?=Base), что соответствует, если после предыдущего выражения следует Base.

Пример: https://regex101.com/r/SPzslJ/1

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