卡夫卡转换忽略正则表达式

Kafka transforms ignoring regex

我正在尝试使用 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=

我可以看出正在使用 RemoveString,因为当我将正则表达式更改为以下内容时,我得到了我想要的结果,但这对我的用例来说相当严格 -

transforms.RemoveString.regex=(foo.)(.*)(.baz)
transforms.RemoveString.replacement=

在 Kafka 转换中使用正则表达式是否有某种限制?

您在 RegexRouter 中输入错误,您错过了 R

transforms=ReplaceField,RenameField,RemoveString
transforms.RemoveString.type=org.apache.kafka.connect.transforms.RegexRouter
transforms.RemoveString.regex=(\w*.)(\w*\d+)(.*)
transforms.RemoveString.replacement=

发现问题,必须转义反斜杠,使用我改进的正则表达式,它现在看起来像这样 -

(\w*)\.(\w+)\.(.*)