regex - Kafka 转换忽略正则表达式
问题描述
我正在尝试使用 kafka transforms.RemoveString在将主题名称传递给我的连接器之前对其进行修改。我的主题名称看起来像这样
foo.bar_1.baz
我想提取bar_1并将其作为主题名称传递。据我所知,我的正则表达式是正确的,但 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 转换中的正则表达式使用是否有某种限制?
解决方案
发现问题,必须转义反斜杠,使用我改进的正则表达式,现在看起来像这样 -
(\\w*)\\.(\\w+)\\.(.*)
推荐阅读
- swiftui - 如何通过在 SwiftUI 中按下更改自己的背景颜色来使每个按钮?
- javascript - node js中的全局环境行为
- python - Django 在 MYSQL Db 中建模时间戳
- javascript - Vuejs在对象数组中搜索
- php - 我的访客会话计数器不起作用
- html - html/css 中的全屏宽度标题
- arrays - 如何从每个excel单元格复制到剪贴板并粘贴到应用程序
- javascript - 如何在 React Native 中使用 HoC
- r - 如何将列中的重复值加在一起?
- javascript - 如何在 exp.com/sec1 而不是 exp.com/#sec1 之类的 url 中制作没有 # 的一页网站