我的 Redshift 表中的一个字段的结构类似于
{event_type} 2024-01-01
,因此我使用 regexp_replace
从事件类型中删除日期。我通过这样的 Python Lambda 调用 Redshift
client = boto3.client("cluster-name", aws_region, aws_access_key_id, aws_secret_access_key, aws_session_token)
query = """
select id, regexp_replace(event_type, '\\s+\\d{4}-\\d{2}$', '') as event
from table
"""
但是正则表达式不起作用,查询返回的所有结果仍然附加了日期。
但是,如果我在 Redshift 控制台中尝试查询,该字段会正确转换。
我认为这与
\\s
和转义字符有关,我尝试使用三个和四个斜杠而不是两个,但这不起作用
使用Python“原始字符串”代替:
query = r"""
select id, regexp_replace(event_type, '\\s+\\d{4}-\\d{2}$', '') as event
from table
"""
这样它就不会删除每对反斜杠中的一个。