You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在dbt-jinja中正确使用Python re模块的正则函数?

正确调用方法

dbt-jinja 中访问 Python 标准库模块需要通过 modules 前缀调用,re 模块的所有方法均挂载在 modules.re 命名空间下,你之前的写法缺失前缀,所以会报未定义错误。

正确写法示例:

{% set matcher = modules.re.match('Doug', 'Doug Timestamps') %}

额外注意事项

  1. 版本要求:该特性仅在 dbt Core v1.0.0 及以上版本可用,低于该版本的环境无法直接使用内置 re 模块能力。
  2. 方法适配:Python 原生 re.match 仅从字符串开头位置匹配规则,你示例中的目标字符串以 Timestamps 开头,用 re.match 匹配 Doug 会返回空值,如果需要匹配字符串任意位置的内容,建议改用 re.search:
{% set matcher = modules.re.search('Doug', 'Timestamps Doug') %}

内容的提问来源于stack exchange,提问作者Anders Swanson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 03:51:01