regex - 如何从 azure 数据流中的字符串列中提取 dd-mm-yyyy 格式的数据?
问题描述
我有一个包含日期和字符串的数据集。我想提取日期,然后将其保存在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.
出现错误。谁能帮我解决这个问题,好吗?
解决方案
您可以使用
((?: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})?
- 两位数或四位数的年份。