boolean (String fieldName, String prefix) { final int prefixLength = prefix.length(); // we can use digits and upper case letters after a prefix, but not lower case letters return prefixLength == 0 || fieldName.startsWith(prefix) && fieldName.length() > prefixLength && (!Character.isLetter(prefix.charAt(prefix.length() - 1)) || !Character.isLowerCase(fieldName.charAt(prefixLength))); }