简要
最简单的方法就是分割字符串
,
然后使用
^\d+
匹配数字,然后进行测试。更复杂的解决方案是下面的正则表达式,它将天数捕获到不同的组中。如果设置了组,则表示以下值:
7天或更短时间<UL>
<LI>
我在这里假设这意味着
<code>
00:00:00
</code>
至
<code>
06:23:59
</code>
</LI>
</UL>
</LI>
<LI>
7 - 14天
<UL>
<LI>
我在这里假设这意味着
<code>
07:00:00
</code>
至
<code>
13:23:59
</code>
</LI>
</UL>
</LI>
<LI>
14天或更长时间
<UL>
<LI>
我在这里假设这意味着上述两个选项范围之外的任何东西
</LI>
</UL>
</LI>
</醇>
码
^(?:([0-6])|([7-9]|1[0-3])|(\d+)) days, (\d+) hours, (\d+) minutes$</code>
说明
^
在行的开头断言位置
(?:([0-6])|([7-9] | 1 [0-3])|(\ d +))`匹配以下任一选项<UL>
<LI>
<code>
([0-6])
</code>
将0-6之间的数字捕获到捕获组1中
</LI>
<LI>
<code>
([7-9]|1[0-3])
</code>
将7-9或10-13之间的数字捕获到捕获组2中
</LI>
<LI>
<code>
(\d+)
</code>
将任意数字捕获到捕获组3中(捕获未被先前选项捕获的内容,因此14-斤)
</LI>
</UL>
</LI>
<LI>
<code>
days,
</code>
按字面意思匹配
</LI>
<LI>
<code>
(\d+)
</code>
捕获捕获组4的小时数
</LI>
<LI>
<code>
hours,
</code>
按字面意思匹配
</LI>
<LI>
<code>
(\d+)
</code>
捕获捕获组5的分钟数
</LI>
<LI>
<code>
minutes
</code>
按字面意思匹配
</LI>
<LI>
<code>
$
</code>
断言该行末尾的位置
</LI>