Voici donc ma saisie (date-heure valide) : 2019-03-14 18:00:00

Je veux correspondre à 2019-03-14

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

Mais ça me donne 3 matchs. 2019-03-14, 03, 4

Que dois-je changer pour correspondre à : 2019-03-14 ?

0
Diar 11 mars 2019 à 17:30

2 réponses

Meilleure réponse

enter image description here

Vous pouvez utiliser un groupe non capturant (les parenthèses ne se souviendront pas de la correspondance) avec ?:

\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));
2
A-312 11 mars 2019 à 14:48

Essayer

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
Kamil Kiełczewski 11 mars 2019 à 14:48