如何从 Azure 数据流中的字符串列中提取 dd-mm-yyyy 格式的数据?

How to extract data with dd-mm-yyyy format from string column in azure data flow?

我有一个包含日期和字符串的数据集。我想提取日期,然后将其保存在 date 列中,将字符串保存在 task 列中。我正在使用 azure data flow 来实现这个数据转换。

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. 错误。谁能帮我解决这个问题?

您可以使用

((?: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})?)

regex demo

详情

  • ^ - 字符串开头
  • ( - 捕获组 #1 的开始(您使用 1 参数提取该组值)
  • (?:0?[1-9]|[12][0-9]|3[01]) - 非捕获组:日值
  • - - 一个连字符
  • (?:0?[1-9]|1[0-2]) - 月份部分
  • - - 一个连字符
  • \d{2}(?:\d{2})? - 两位或四位数年份。