@Udf(description = "Returns all substrings of the input that matches the given regex pattern")
  public List<String> regexpExtractAll(
      @UdfParameter(description = "The regex pattern") final String pattern,
      @UdfParameter(description = "The input string to apply regex on") final String input
  ) {
    return regexpExtractAll(pattern, input, 0);
  }
@Test
  public void shouldReturnSubstringWhenMatched() {
    assertThat(udf.regexpExtractAll("e.*", "test string"), contains("est string"));
    assertThat(udf.regexpExtractAll(".", "test"), contains("t", "e", "s", "t"));
    assertThat(udf.regexpExtractAll("[AEIOU].{4}", "usEr nAmE 1308"), contains("Er nA", "E 130"));
  }