我想从时间字符串中删除秒,格式是HH:MM:SS,可能有空格,最后是“am/pm”。正则表达式从时间字符串中删除秒
For example: 11:34:41 pm to 11:34pm
For example: 11:34:41pm to 11:34pm
For example: 11:34:41 to 11:34
我试了很多正则表达式,都没有工作。
这怎么办?
我想从时间字符串中删除秒,格式是HH:MM:SS,可能有空格,最后是“am/pm”。正则表达式从时间字符串中删除秒
For example: 11:34:41 pm to 11:34pm
For example: 11:34:41pm to 11:34pm
For example: 11:34:41 to 11:34
我试了很多正则表达式,都没有工作。
这怎么办?
您可以使用此一:
/:\d\d([ ap]|$)/
的想法是当它后面的字符串的结束或一个空格来匹配:\d\d
。
可以通过键入那些在控制台测试它在浏览器中:
'11:34:41'.replace(/:\d\d([ ap]|$)/,'$1')
'11:34:41 pm'.replace(/:\d\d([ ap]|$)/,'$1')
'11:34:41pm'.replace(/:\d\d([ ap]|$)/,'$1')
-1不起作用 – mate64
这将与2号,后跟一个冒号,接着2号:
\d{2}:\d{2}
这可能对你来说足够好。不过,如果你也想匹配的可能秒和/或am
/pm
,但不抓住他们,用这一个:
(\d{2}:\d{2})(?::\d{2})?(?:am|pm)?
(\d{2}:\d{2})
会做同样的比赛作为第一个正则表达式和捕捉结果。(?::\d{2})?
将匹配秒如果存在。(?:am|pm)?
将匹配am
或pm
如果存在。-1不起作用 – mate64
这个问题是题外话题,因为问题必须**展示对所解决问题的最小理解**。告诉我们你试图去做什么,为什么它没有工作,以及它应该如何工作。另请参阅:[堆栈溢出问题清单](http://meta.stackexchange.com/questions/156810/stack-overflow-question-checklist) – HamZa
您使用哪种语言? –
我不明白这里的近距离投票。我们现在期望每个人都知道如何解决这个问题吗?这里有一些失败的正则表达式不会使问题更好。 –