Everywhere else in Java, anything with an index starts at 0. Is there a reason for the change here or is this just bad design?
More human friendly maybe? Also, Java's regular expression Matcher's group starts with 1 as the first matched group.