首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带正则表达式的debezium表白名单

带正则表达式的debezium表白名单
EN

Stack Overflow用户
提问于 2018-07-15 05:51:16
回答 1查看 3.3K关注 0票数 5

我有一些带有bg_和cp_前缀的数据库表,比如"bg_table1“、"bg_table2”和"cp_table1".There也是一些没有前缀的表,比如my_table1、user_action等等。

我有两个debezium postgreSQL连接器,并试图按照Debezium - http://debezium.io/docs/connectors/postgresql/#connector-properties配置table.whitelist属性。我的要求如下:

  • 在第一个连接器中,我希望加载名称以bg_cp_开头的表。
  • 在第二个连接器中,我希望加载其余的表--,从bg_cp_开始

我在连接器配置中使用了如下所示的内容,但不起作用:

第一个连接器Config:

代码语言:javascript
复制
"table.whitelist": "public.bg_*,public.cp_*" 

第二连接器Config:

代码语言:javascript
复制
"table.whitelist": ""  Cannot figure out need your help

如果有人能帮我弄清楚那就太好了。提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-15 05:57:55

试试看你的白名单:

代码语言:javascript
复制
"table.whitelist": "public\.(bg|cp)_.*"

Demo

试试你的黑名单:

代码语言:javascript
复制
"table.whitelist": "public\.(?!(bg|cp)_)[^_]+_.*"

Demo

第一种模式在任何regex引擎上都应该很好地工作。第二种模式使用负前瞻。只有在正则表达式引擎支持这个功能的情况下,它才能工作。如果不这样做,那么用您想要使用的逻辑编写模式就会更加困难。

注意:在Java代码的上下文中,您可能需要加倍使用反斜杠来转义像点这样的东西。也就是说,您可能必须使用以下版本。

代码语言:javascript
复制
"table.whitelist": "public\\.(bg|cp)_.*"
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51345636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档