Я нашел это из кода вызов:
def time_correct(t)
return unless t =~ /^\d{2}(:\d{2}){2}$/
end
он используется для выяснить, например "0;:44:07"
является обычной строкой времени ("HH:MM:SS"
) или нет. Хотя я не понимаю регулярное выражение. Может кто-нибудь объяснить мне /^\d{2}(:\d{2}){2}$/
? Благодаря!
regex101.com хороший ресурс, чтобы узнать и понять, регулярное выражение. См. [This] (https://regex101.com/r/WIH7FL/1). Проверьте раздел ОБЪЯСНЕНИЕ в правом верхнем углу. – Tushar
Помимо обычного выражения, может ли этот метод вернуть что-либо, кроме 'nil'? Обратите внимание, что регулярное выражение соответствует '' 99: 99: 99'', хотя это недействительное время. Каков URL-адрес «проблемы с кодом», которую вы упоминаете? –
'def time_correct (t) return t if t.nil? || t.empty? return, если t = ~/^ \ d {2} (: \ d {2}) {2} $/ t = t.split (":"). Map (&: to_i) Time.at (t [0] * 3600 + t [1] * 60 + t [2]).strftime "% H:% M:% S" end' это полный код. Я только копировал и вставлял строку, которую я не совсем понял. – Chaoguo0