如何从Erlang中的特定日期字符串中获取年,月,日?

时间:2018-05-02 11:51:10

标签: erlang

我无法通过以下方式获取Erlang中JavaScript日期的正则表达式匹配:

re:run("2018-05-25", <<"^\d{4}-\d{2}-\d{2}$">>).

虽然此测试成功作为常规正则表达式,但请参阅此处:https://regex101.com/r/bEfNgG/1

此外,我试图通过模式匹配日期,但无效(45是“ - ”的字符代码。)

[Y, $45, M, $45, D] = "2018-05-25".

请您浏览一下并给我一个提示?

3 个答案:

答案 0 :(得分:1)

re documentation开头所述,单个反斜杠由文字字符串语法解释,因此您需要对其进行反斜杠以将其保留在正则表达式中:

 re:run("2018-05-25", "^\\d{4}-\\d{2}-\\d{2}$").

答案 1 :(得分:1)

[Y, M, D] = string:split("2018-05-25", "-", all).

答案 2 :(得分:0)

在其他项目中搜索后,我发现了这个:

<<Year:4/binary, _:1/binary, Month:2/binary, _:1/binary, Day/binary>> = <<"2018-05-25">>.

这帮助我完成了工作。