突出文字时间

时间:2011-05-20 19:08:33

标签: ruby regex

我有一个字符串:Something 8:45 foo bar foo bar at 23:50

如何使用<b>标记所有时间组合,如8:45和23:50中的所有时间组合? 因此,我希望Something <b>8:45</b> foo bar foo bar at <b>23:50</b>

4 个答案:

答案 0 :(得分:1)

>> "Something 8:45 foo bar foo bar at 23:50".gsub(/\b\d{1,2}:\d{2}\b/, '<b>\0</b>') 
#=> "Something <b>8:45</b> foo bar foo bar at <b>23:50</b>"

编辑:如果需要,你可以让正则表达式检查正确的时间,但我没有打扰这个例子。

答案 1 :(得分:0)

使用以下正则表达式/((2[0-3])|(1[0-9])|(0?[0-9])):([0-5]?[0-9])/进行匹配,因为它还会检查时间格式是否正确

答案 2 :(得分:0)

你可以这样做:

"Something 8:45 foo bar foo bar at 23:50".gsub(/\d{1,2}:\d{2}/).each {|hour| hour = "<b>#{hour}<b>" }

确定小时数并用<b>hour<b>

替换每个小时

答案 3 :(得分:-1)

用' $ 1 '替换([0-9] {1,2}:[0-9] {1,2})