Регулярное выражение для гггг-мм-дд - PullRequest
0 голосов
/ 11 марта 2019

Итак, это мой ввод (действительная дата и время): 2019-03-14 18:00:00

Я хочу соответствовать 2019-03-14

Это мое регулярное выражение: \d{4}-(0?[1-9]|1[012])-(0?[1-9]|[12][0-9]|3[01])*

Но это дает мне 3 матча. 2019-03-14, 03, 4

Что я должен изменить, чтобы соответствовать: 2019-03-14?

Ответы [ 2 ]

2 голосов
/ 11 марта 2019

Попробуйте

let d= "2019-03-14 18:00:00".split(' ')[0];

let r= "2019-03-14 18:00:00".match(/[^ ]*/)[0];

console.log('split: ', d);
console.log('regexp:', r);
2 голосов
/ 11 марта 2019

enter image description here

Вы можете использовать группу без захвата (скобки не запомнят совпадение) с ?:

\d{4}-(?:0?[1-9]|1[012])-(?:0?[1-9]|[12][0-9]|3[01])*

var regex = /\d{4}-(?:0?[1-9]|1[012])-(?:0?[1-9]|[12][0-9]|3[01])*/;

console.log("2019-03-14 18:00:00".match(regex));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...