正则表达式提取全部(regexp_extract_all)

提取与 Java 正则表达式str匹配且对应于正则表达式组索引的所有字符串regexp

有关相应的 Databricks SQL 函数,请参阅 regexp_extract_all 函数

Syntax

from pyspark.databricks.sql import functions as dbf

dbf.regexp_extract_all(str=<str>, regexp=<regexp>, idx=<idx>)

参数

参数 类型 Description
str pyspark.sql.Columnstr 要处理的目标列。
regexp pyspark.sql.Columnstr 要应用的正则表达式模式。
idx pyspark.sql.Columnint, optional 匹配的组 ID。

例子

from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([("100-200, 300-400", r"(\d+)-(\d+)")], ["str", "regexp"])
df.select('*', dbf.regexp_extract_all('str', dbf.lit(r'(\d+)-(\d+)'))).show()
df.select('*', dbf.regexp_extract_all('str', dbf.lit(r'(\d+)-(\d+)'), dbf.lit(1))).show()
df.select('*', dbf.regexp_extract_all('str', dbf.lit(r'(\d+)-(\d+)'), 2)).show()
df.select('*', dbf.regexp_extract_all('str', dbf.col("regexp"))).show()
df.select('*', dbf.regexp_extract_all(dbf.col('str'), "regexp")).show()