public static FindKV findKV(String regex, int keyGroup, int valueGroup) {
    return findKV(Pattern.compile(regex), keyGroup, valueGroup);
  }
@Test
  @Category(NeedsRunner.class)
  public void testKVMatchesName() {

    PCollection<KV<String, String>> output =
        p.apply(Create.of("a b c"))
            .apply(Regex.findKV("a (?<keyname>b) (?<valuename>c)", "keyname", "valuename"));

    PAssert.that(output).containsInAnyOrder(KV.of("b", "c"));
    p.run();
  }