У меня есть строка даты в следующей форме x.toLocaleString (). ToLowerCase () «Пт 21 апреля 2017 19:18:21 gmt + 0530 (стандартное время Индии)» хочу извлечь только 19:18:21. Как извлечь это значение только из всей строки, используя регулярное выражение javascript.

1
glen maxwell 24 Апр 2017 в 09:11

2 ответа

Лучший ответ

Используйте регулярное выражение, чтобы извлечь время с группировкой:

var str = "fri apr 21 2017 19:18:21 gmt+0530 (india standard time)";

console.log(str.match(/(\d+:\d+:\d+)+/)[0])
1
Jai 24 Апр 2017 в 06:24

REGEX должен отфильтровывать недопустимые форматы времени, такие как «60:23:22», которые не относятся ни к 12-часовым, ни к 24-часовым форматам, поэтому это должно быть

var regExp = /([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]/g; 
var str = "19:18:21 65:45:33 12:23:23 30:34:22 100:22:22 10:22:222";
var regExp = /\b([01]\d|2[0-3]):[0-5]\d:[0-5]\d\b/g;
console.log(str.match(regExp));
1
Dan Philip 24 Апр 2017 в 11:32