[英]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.