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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式,用于验证不同格式的字符串,用于特殊时间转换[重复]相关的知识,希望对你有一定的参考价值。

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

我需要将包含特殊时间格式的字符串转换为标准格式,例如:“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菜鸟:)

答案

感谢Seblor和Wiktor的快速回答!

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

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

以上是关于正则表达式,用于验证不同格式的字符串,用于特殊时间转换[重复]的主要内容,如果未能解决你的问题,请参考以下文章

用于用户名验证的正则表达式

用于用户名验证php的正则表达式

用于检查 4 个不同字符组中的至少 3 个的正则表达式

正则表达式

java 带要求的验证邮箱的正则表达式

用于验证 .NET 时间格式的正则表达式