繁体   English   中英

将Ruby DateTime格式转换为regexp

[英]Converting Ruby DateTime format to regexp

我想将日期时间格式字符串(例如"%m/%d/%y %H:%M"转换为正则表达式。 我不知道格式字符串中的内容,也不必处理所有情况,因此我一直试图将gsub放入字符串中。

DATEFORMAT = "%m/%d/%y %H:%M"

def date_format_to_regex
  format = DATEFORMAT
  format = format.gsub(/\//,'\/')
  format = format.gsub(/%[ymdCHI]/,'[[:digit:]]{2}') #two digits
  format = format.gsub(/%[YMS]/,'[[:digit:]]{4}')    #four digits
  @date_regex = Regexp.new(format)
end

但是,这样的输出会导致很多斜杠

"%m/%d/%y %H:%M == (?-mix:[[:digit:]]{2}\\/[[:digit:]]{2}\\/[[:digit:]]{2} [[:digit:]]{2}:[[:digit:]]{4})"
DATEFORMAT = "%m/%d/%y %H:%M"

def date_format_to_regex    
  format = DATEFORMAT.gsub(/%[ymdCHI]/, "\\d{2}").gsub(/%[YMS]/, "\\d{4}")
  @date_regex = Regexp.new(format)
end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM