don't use named capture groups for ruby 1.8.7 compatibility