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

如何编写正则表达式去除Debezium Connector主题名称的前缀?

Debezium主题重命名:提取表名核心部分

问题背景

表名格式为dbo.tRB_ODPP_TableName,需要将Debezium生成的主题名称仅保留TableName部分。初始使用的正则配置无法满足需求:

"transforms": "dropTopicPrefix",
"transforms.dropTopicPrefix.type": "org.apache.kafka.connect.transforms.RegexRouter",
"transforms.dropTopicPrefix.regex": "^[^.]+.(.*)",
"transforms.dropTopicPrefix.replacement": "$1"

该正则仅能移除第一个.之前的内容(例如将my-server.dbo.tRB_ODPP_TableName转为dbo.tRB_ODPP_TableName),无法剥离dbo.tRB_ODPP_这部分前缀。

解决配置

替换正则表达式后即可实现需求,完整配置如下:

"transforms": "dropTopicPrefix",
"transforms.dropTopicPrefix.type": "org.apache.kafka.connect.transforms.RegexRouter",
"transforms.dropTopicPrefix.regex": "^([a-zA-Z]+.)+(.*)",
"transforms.dropTopicPrefix.replacement": "$2"

正则解释

  • ^([a-zA-Z]+.)+:匹配开头所有由字母组合加.构成的前缀段(支持多层前缀,如server.dbo.这类结构也能匹配)
  • (.*):捕获需要保留的表名核心部分(即TableName)
  • 替换为$2即可提取出目标表名

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 22:42:51