我想从时间字符串中删除秒,格式为 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
我尝试了很多正则表达式,没有一个有效。
如何才能做到这一点 ?
这将匹配 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
如果存在。你可以使用这个:
/:\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')