code: public static Matcher<Result> contains(final String string) {
          return new Matcher<Result>() {
              @Override
              public Result matches(String input, boolean isEof) {
                  int pos = input.indexOf(string);
                  return pos != -1
                          ? success(input, input.substring(0, pos), string)
                          : failure(input, false);
              }
  
              @Override
              public String toString() {
                  return generateToString("contains", string);
              }
          };
      }
docs: Creates a matcher of {@code String} that matches when examined input contains the given
  substring.
  <p/>
  The returning {@code Result} has no groups except the one with {@code 0} index which
  represents the exact
  string match.
  <p/>
  If the match succeeded, the input buffer is updated: the input part from the beginning
  until the end
  position of the match is removed.
  
  @param string the string to search for
  @return the match result