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