【发布时间】:2021-10-20 12:28:44
【问题描述】:
我正在尝试使用 kafka transforms.RemoveString 在将主题名称传递到我的连接器之前对其进行修改。我的主题名称是这样的
foo.bar_1.baz
我想提取 bar_1 并将其作为主题名称传入。据我所知,我的regex is correct 但kafka 转换似乎不喜欢它-
transforms=ReplaceField,RenameField,RemoveString
transforms.RemoveString.type=org.apache.kafka.connect.transforms.RegexRouter
transforms.RemoveString.regex=(\w*.)(\w*\d+)(.*)
transforms.RemoveString.replacement=$2
我可以告诉正在使用 RemoveString,因为当我将正则表达式更改为以下时,我得到了我想要的结果,但这对我的用例来说相当限制 -
transforms.RemoveString.regex=(foo.)(.*)(.baz)
transforms.RemoveString.replacement=$2
Kafka 转换中的正则表达式使用是否存在某种限制?
【问题讨论】:
-
可能你错过了
transforms=RemoveString -
包含在内,我会在上面添加。
-
我会使用
(\w*)\.(\w+)\.(.*),因为\w已经包含数字 -
与
(\w*)\.(\w+)\.(.*)的结果相同,它仍然通过完整的主题名称,似乎不喜欢使用\w
标签: regex apache-kafka apache-kafka-connect