使用rubular http://rubular.com/我试图从一种格式解析小时分秒4H40M20S
解析与日期格式的正则表达式
到目前为止,我有这个
(\d*)H(\d*)M(\d*)S
这对于4H40M20S
但不能正常工作对于40M20S
在这种情况下,需要更改哪些内容才能使其工作?
使用rubular http://rubular.com/我试图从一种格式解析小时分秒4H40M20S
解析与日期格式的正则表达式
到目前为止,我有这个
(\d*)H(\d*)M(\d*)S
这对于4H40M20S
但不能正常工作对于40M20S
在这种情况下,需要更改哪些内容才能使其工作?
看起来像你喜欢的东西后:
([\d]+[HMS])+
如果你想seperately捕获每个部分,然后用:
([\d]+H)?([\d]+M)?([\d]+S)
个
而你如何提取这种模式的小时,分钟,秒值? –
好点,我现在更新 –
只有秒是强制性的?为什么不分钟或几小时?为了让你的模式更加健壮(所有组都是可选的),你可以在模式结尾处使用后视来检查你的组是否存在,如:'(?<= [0-9] [HMS])如果你有更好的主意,可以在任何地方或其他条件。 (你也可以在比赛结束后检查组是否存在) –
使用任选的基团:['?(?:(\ d *)H)(\ d *)M(\ d *)'](http://rubular.com/ R/6t5ZsjtHaA)。使用'(?:...)?',您可以使正则表达式的任何部分可选。 –
你是对的卡西米尔我犯了一个错误,我已经编辑它来纠正这个错误! – Riina