Как получить год, месяц, день из конкретной строки даты в Erlang? - PullRequest
0 голосов
/ 02 мая 2018

Я не могу получить соответствие регулярному выражению для даты JavaScript в Erlang через:

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 голосов
/ 02 мая 2018

После некоторых поисков в других проектах я нашел это:

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

Это помогло мне выполнить работу.

0 голосов
/ 03 мая 2018
[Y, M, D] = string:split("2018-05-25", "-", all).
0 голосов
/ 02 мая 2018

Как отмечалось в начале re документации , одиночная обратная косая черта интерпретируется синтаксисом литеральной строки, поэтому вам необходимо использовать обратную косую черту, чтобы сохранить ее в регулярном выражении:

 re:run("2018-05-25", "^\\d{4}-\\d{2}-\\d{2}$").
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...