使用正则表达式匹配除时间范围之外的所有内容

时间:2015-03-14 22:26:17

标签: regex

我有一个匹配时间范围的正则表达式:

(([0-2]?[0-9]:[0-5][0-9]\s*)-(\s*[0-2]?[0-9]:[0-5][0-9]))

但是,我需要一个正则表达式,它可以提取除字符串中的时间范围之外的所有内容,例如:"June 12, 2015 13:30 - 14:00"(即"June 12, 2015"),但我似乎无法做到这一点。

我尝试使用前瞻和后视,如下所示,但它们似乎不起作用(至少对我而言)。

(?<!(([0-2]?[0-9]:[0-5][0-9]\s*)-(\s*[0-2]?[0-9]:[0-5][0-9])))

1 个答案:

答案 0 :(得分:0)

感谢@OozeMeister的提示。我在Ruby编码,代码替换是解决方案。

t = "June 12, 2015 13:30 - 14:00"
reg = /(([0-2]?[0-9]:[0-5][0-9]\s*)-(\s*[0-2]?[0-9]:[0-5][0-9]))/
date = t.gsub(reg, '')
puts date

输出:"June 12, 2015 "