正则表达式,用于验证不同格式的字符串,用于特殊时间转换[重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

我需要将包含特殊时间格式的字符串转换为标准格式,例如:“1h2m3s40ms” - >“01:02:03:0040”。源字符串可以包含小时,分钟,秒或毫秒的任意组合,如“1h4s”,“34m”,“23h45s”等。这是我需要帮助的地方。

一个基本的正则表达式,它将验证字符串,它们都具有值,这很容易,如下所示:

“[0-9] + h [0-9] + m [0-9] + s [0-9] + ms”

但是,如何使个人小时,分钟等可选?

我试过这样的事情:

“([0-9] + h)([0-9] + m)?([0-9] + s)?([0-9] + ms)?”

但这并没有通过我的正则表达式测试,一切都被允许。

请帮助regexp菜鸟:)

regex string format
1个回答
0
投票

感谢Seblor和Wiktor的快速回答!

是的,添加字符串开始和结束分隔符就可以了:

^([0-9] + h)([0-9] + m)?([0-9] + s)?([0-9] + ms)?$

© www.soinside.com 2019 - 2024. All rights reserved.