首页 > 解决方案 > 正则表达式从时间字符串中提取时间

问题描述

根据时间可用性,我有“PT8H6M3.831S”或“PT1M34.57S”或“PT0S”格式的时间字符串。如果可能,我想使用正则表达式从这些字符串中提取小时、分钟和秒部分。

标签: regex

解决方案


从一开始的常量部分“PT”开始构建您的正则表达式。然后使用可选组来捕获 Hour 和 Minute 这两个元素。第二个似乎总是在这里,所以结束正则表达式的不是可选组。然后使用匹配的组数来确定有多少组。

提示:

  • 正则表达式开始^
  • 正则表达式中的常量值,就像它们一样PT
  • 可选组( )?
  • 所需组( )
  • 正则表达式结束$

推荐阅读