Как извлечь данные в формате дд-мм-гггг из строкового столбца в потоке данных Azure?

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

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

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

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


person user86907    schedule 28.05.2020    source источник


Ответы (1)


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

((?: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})? - год двух- или четырехзначный.
person Wiktor Stribiżew    schedule 28.05.2020