Javascript/jQuery使用正则表达式搜索“分钟:秒”时间
Javascript/jQuery search for a "minute:second" time using regex
我有一个变量数组,都包含文本。我只想选择包含分钟秒标记的项目,例如。'"3:00'", '"4:01'", '"0:23'".我了解如何遍历数组,我只需要知道如何实现这个正则表达式。
为了安全起见,这里是:
^(([0-9])|([0-1][0-9])|([2][0-3])):(([0-9])|([0-5][0-9]))$
我正在尝试在此实现它:
$.each(comments, function(i, val) { //Go through array with jQuery
//Remove from array if instance of "minute:second" is not found
});
谢谢!
编辑:
戴夫·托马斯(Dave Thomas)要求提供示例。它们都是YouTube评论。下面列出了带有 minute:time 的评论和一个没有注释的示例。全部取自示例视频。
- "1:00 FIFA 12 comentator?"
- "呜呜<呜呜>呜呜> �
编辑2:
for (var i = 0, len = comments.length; i < len; i++) {
if(!(comments[i].test(/(([0-5][0-9])|[0-9])':[0-9]{2,2}/))){
comments.splice(i,1);
}
}
您需要使用本机过滤器函数来拟合数组(链接中有一个用于旧版浏览器的填充程序)而不是每个数组,并且您可以使用 test 针对字符串测试正则表达式:
var pattern = /(([0-9])|([0-1][0-9])|([2][0-3])):(([0-9])|([0-5][0-9]))/;
comments = comments.filter(function(str){
return pattern.test(str);
});
我建议,如果你不介意更原生的JavaScript方法:
var comments = ["01:00 Fifa 12 comentator?", "ROOOOOOOONEY <3"];
for (var i = 0, len = comments.length; i < len; i++) {
return comments[i].test(/(([0-5][0-9])|[0-9])':[0-9]{2,2}/);
}
JS小提琴演示。
正则表达式的解释:
(([0-5][0-9])|[0-9])':[0-9]{2,2}
-
([0-5][0-9])
基本上标识了时间字符串的分钟部分,理由是分钟只能从0
(或00
)到59
,这从0-5
中搜索一个数字,后跟一个0-9
。 -
|
表示"or",它将识别从00
到59
的前两位数序列或后续序列。 -
[0-9]
再次,这标识了0-9
的范围,因此标识了个位数分钟。 -
':
因为冒号是正则表达式中的特殊字符,所以反斜杠会转义冒号,并允许搜索文字:
字符。 -
[0-9]{2,2}
搜索两位数的字符序列,每个字符序列都来自0-9
序列。
编辑以更新上述代码:
var comments = [/*...rather a lot...*/]
timelyComments = [];
for (var i = 0, len = comments.length; i < len; i++) {
if (comments[i].test(/(([0-5][0-9])|[0-9])':[0-9]{2,2}/)){
timelyComments.push(comments[i]);
}
}
console.log(timelyComments);
JS小提琴演示。
引用:
- 正则表达式。
-
test()
.
相关文章:
- 当转换为Python日期时间时,Node的时间戳落后3分钟
- 引导时间选择器在增加或减少小时和分钟的同时获取 NaN
- Moment.js unix时间戳,以分钟为单位显示以前的时间
- 计算JavaScript中的时间差异(天+小时+分钟+秒)
- 使用 javascript 将指定的分钟数添加到时间
- 用javascript将时间格式化为小时和分钟
- 如何设置此javascript以正确显示花费的总时间,显示超出正常时钟的分钟数
- 如何从javascript或jquery中的时间字符串中获取分钟数
- Javascript模糊时间(例如'10分钟前');s精确到几秒钟
- 从值为零angularjs的时间中删除分钟部分
- Javascript:如何以毫秒为单位将时间显示为天:小时:分钟
- 在 Google 图表 y 轴上将时间格式设置为小时:分钟
- 基于时间的 javascript,创建一个大约 30 分钟的空白响应
- 如何像这样显示时间,例如:1秒前,1分钟前,1小时前,1个月前
- 通过Javascript错误将考试时间设置为30分钟
- Javascript/jQuery使用正则表达式搜索“分钟:秒”时间
- 从当前日期和时间 JavaScript 中减去 5 分钟
- 在 JavaScript 中将 Unix 时间转换为“几分钟前”
- 舍入时间间隔最长为 15 分钟步长
- 节点 - MySQL 查询,需要几分钟时间,在几分钟后重复自己,然后完成原始查询