我有以下格式的日期字符串x.toLocaleString().toLowerCase()
"fri apr 21 2017 19:18:21 gmt+0530 (india standard time)"
想要仅提取19:18:21
。如何使用javascript正则表达式从整个字符串中提取这些值。
答案 0 :(得分:1)
使用正则表达式通过分组提取时间:
var str = "fri apr 21 2017 19:18:21 gmt+0530 (india standard time)";
console.log(str.match(/(\d+:\d+:\d+)+/)[0])
答案 1 :(得分:1)
REGEX应过滤掉无效的时间格式,例如" 60:23:22"它不属于12H或24H格式,所以它应该是
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));