我目前的代碼旨在通過一個巨大的.csv文件,並將某些日期格式化爲適用於SQL Datetime的格式。目前,他們DDMMYYYY,我希望他們爲YYYYMMDD,這是我採取的辦法(從不同的SO問題解除):Ruby正則表達式拋出無效的反向參考號/名稱錯誤
CSV.foreach('file.csv') do |x|
if x[0] == "1"
x.gsub(/([0-9]{2})-+([0-9]{2})-+([0-9]{4})/,/\3-\2-\1/)
else
end
這引發錯誤「無效backref編號/名稱」。
文檔告訴我,我可以通過將?<name>
定義爲組並用\k<name>
反向引用它們來避免這種情況,但是我所有的嘗試都以失敗告終。有人能告訴我它應該看起來如何,或提供一個替代解決方案?
此外,請小心使用單引號字符串 - 「\ 3- \ 2- \ 1」將內插到unicode字符,您將得到「\ u0003- \ u0002- \ u0001」 – 2013-03-11 19:40:34
唉。我覺得很愚蠢。我花了數小時試圖解決這個問題。無論如何,感謝您的幫助! – dermoth 2013-03-14 11:50:37