Java正则表达式,时间模式
我试图得到一个正则表达式,其中包含以下组合:
1h
2m
3s
1h 2m
1h 2m 3s
2m 3s
到目前为止,我还有下一个:(\d+h\s?)?(\d+m\s?)?(\d+s\s?),但它并不好用
谁能给我一个主意吗
你可以在下面搜索框中键入要查询的问题!
我试图得到一个正则表达式,其中包含以下组合:
1h
2m
3s
1h 2m
1h 2m 3s
2m 3s
到目前为止,我还有下一个:(\d+h\s?)?(\d+m\s?)?(\d+s\s?),但它并不好用
谁能给我一个主意吗
# 1 楼答案
通过将有趣的匹配项与|进行分组,可以将字符串的有效部分与h、m和s进行匹配,每个h、m和s都在各自的组中捕获,这样就可以检查特定的行是否具有特定的值。这是一个很好的方法,可以在完全匹配的情况下进行可选匹配
(regex101)
# 2 楼答案
试试这个正则表达式:
解释:
按照下面的链接查看Java代码,根据示例输入演示这个正则表达式
Rextester