code: def is_valid_camel(cls, input_string, strcmp=None, ignore=''):
          
          # clear any non chars from the string
          if not input_string:
              return False
  
          input_string = ''.join([c for c in input_string if c.isalpha()])
          matches = cls._get_regex_search(input_string,
                                          cls.REGEX_CAMEL.format(SEP=cls.REGEX_SEPARATORS),
                                          match_index=0,
                                          ignore=ignore)
          if matches or input_string == strcmp:
              if strcmp:
                  index = input_string.find(strcmp) - 1
                  is_camel = strcmp[0].isupper() and input_string[index].islower()
                  is_input = strcmp == input_string
                  is_start = index + 1 == 0
                  return is_camel or is_input or is_start
              return True
          elif len(input_string) == 1:
              return True
          return False
docs: Checks to see if an input string is valid for use in camel casing
              This assumes that all lowercase strings are not valid camel case situations and no camel string
              can just be a capitalized word.  Took ideas from here:
              http://stackoverflow.com/questions/29916065/how-to-do-camelcase-split-in-python
  
          :param input_string: str, input word
          :param strcmp: str, force detection on a substring just in case its undetectable
                              (e.g. part of a section of text that's all lowercase)
          :param ignore: str, what kind of string to ignore in the regex search
          :return: bool, whether it is valid or not