Ваша текущая оценка с помощью
min / 15 * 15
только усекает минуту, таким образом
15 => 15
16 => 15
..
29 => 15
30 => 30
, Который не 'округляется'.
можно приблизить округление в плохом пути с
(( min + 7.5 ) / 15).to_i * 15
Или, с помощью внутренностей:
( min.to_f / 15 ).round * 15
Согласно ответам SO, похоже, нет явного регулярного выражения.
Здесь они указывают на попытки описания регулярных выражений Perl в BNF:
http: // http://www.faqts.com/knowledge_base/view.phtml/aid/25718/fid/200.
Я не t смотрите один специально для java 1.6; но вот начало, которое, возможно, вы сможете построить полный BNF из:
http://www.users.pjwstk.edu.pl/~jms/qnx/help/watcom/wd/regexp.html#RegularExpressionBNF
... используя документацию java 1.6 для Pattern:
http://java.sun.com/javase/6/docs/api/java/util/regex/Pattern.html