code: def regexp_extract(str, pattern, idx):
      r
      sc = SparkContext._active_spark_context
      jc = sc._jvm.functions.regexp_extract(_to_java_column(str), pattern, idx)
      return Column(jc)
docs: r"""Extract a specific group matched by a Java regex, from the specified string column.
      If the regex did not match, or the specified group did not match, an empty string is returned.
  
      >>> df = spark.createDataFrame([('100-200',)], ['str'])
      >>> df.select(regexp_extract('str', r'(\d+)-(\d+)', 1).alias('d')).collect()
      [Row(d=u'100')]
      >>> df = spark.createDataFrame([('foo',)], ['str'])
      >>> df.select(regexp_extract('str', r'(\d+)', 1).alias('d')).collect()
      [Row(d=u'')]
      >>> df = spark.createDataFrame([('aaaac',)], ['str'])
      >>> df.select(regexp_extract('str', '(a+)(b)?(c)', 2).alias('d')).collect()
      [Row(d=u'')]