Как извлечь данные в формате дд-мм-гггг из строкового столбца в потоке данных azure? - PullRequest
1 голос
/ 28 мая 2020

У меня есть набор данных, который содержит даты и строку вместе. Я хочу извлечь дату, а затем сохранить ее в столбце date и строку в столбце task. Я использую поток данных azure для достижения этого преобразования данных.

regexExtract({Finish Date Activity}, '^([0-2][0-9]|(3)[0-1])(\-)(((0)[0-9])|((1)[0-2]))(\-)\d{4}$', 1)

enter image description here

Но это, похоже, не работает для меня и получаю Unable to parse the expression. Please make sure it is valid. ошибка. Кто-нибудь может помочь мне решить эту проблему, пожалуйста?

1 Ответ

3 голосов
/ 28 мая 2020

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

((?:0?[1-9]|[12][0-9]|3[01])-(?:0?[1-9]|1[0-2])-\d{2}(?:\d{2})?)

Или, если ваши даты всегда находятся в начале текста:

^((?:0?[1-9]|[12][0-9]|3[01])-(?:0?[1-9]|1[0-2])-\d{2}(?:\d{2})?)

См. демонстрацию регулярных выражений

Подробности

  • ^ - начало строки
  • ( - начало группы захвата # 1 (вы извлекаете это значение группы с аргументом 1)
  • (?:0?[1-9]|[12][0-9]|3[01]) - группа без захвата: значение дня
  • - - дефис
  • (?:0?[1-9]|1[0-2]) - часть месяца
  • - - дефис
  • \d{2}(?:\d{2})? - двух- или четырехди git год.
...