regexp_like(col, pattern)
Описание
Функция regexp_like()
проверяет, соответствует ли строка регулярному выражению. Это синоним для rlike()
и regexp()
.
Параметры
col
: Column - столбец со строками для проверкиpattern
: String - регулярное выражение для сопоставления
Возвращаемое значение
Boolean - TRUE, если строка соответствует регулярному выражению, иначе FALSE
Пример использования
from pyspark.sql.functions import regexp_like
from pyspark.sql import SparkSession
# Создаем SparkSession
spark = SparkSession.builder.appName("regexp_like_example").getOrCreate()
# Создаем DataFrame
data = [
("2023-01-01"),
("invalid_date"),
("2023-12-31")
]
df = spark.createDataFrame(data, ["date"])
# Проверяем соответствие дат формату YYYY-MM-DD
result = df.select(
"date",
regexp_like("date", "^\\d{4}-\\d{2}-\\d{2}$").alias("is_valid_date")
).show()
# Результат:
# +------------+------------+
# |date |is_valid_date|
# +------------+------------+
# |2023-01-01 |true |
# |invalid_date|false |
# |2023-12-31 |true |
# +------------+------------+
Примечания
- Функция чувствительна к регистру
- NULL значения возвращают NULL
- Для извлечения подстрок по регулярному выражению используйте
regexp_extract()
- Для замены по регулярному выражению используйте
regexp_replace()
- Для подсчета совпадений используйте
regexp_count()