当前位置: 首页 > 知识库问答 >
问题:

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

梁丘兴腾
2023-03-14

我有一些具有bg_和cp_前缀数据库表,如“bg_table1”、“bg_table2”和“cp_table1”,还有一些没有任何前缀的表,如my_table1和user_action等等。

我有两个debezium postgreSQL连接器,并尝试通过以下操作配置table.whitelist属性:debezium-http://debezium.io/docs/connectors/postgreSQL/#connector-properties。我的要求如下:

  • 在第一个连接器中,我要加载名称以bg_或cp_开头的表
  • 在第二个连接器中,我要加载其余的表-不以bg_或cp_开头

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

第一个连接器配置:

"table.whitelist": "public.bg_*,public.cp_*" 
"table.whitelist": ""  Cannot figure out need your help

共有1个答案

祁正阳
2023-03-14

请尝试为白名单执行以下操作:

"table.whitelist": "public\.(bg|cp)_.*"

并在黑名单中尝试以下操作:

"table.whitelist": "public\.(?!(bg|cp)_)[^_]+_.*"

第一种模式在任何regex引擎上都很适用。第二种模式使用负面的前瞻。只有当您的regex引擎支持时,它才会起作用。如果不是,那么用您想要使用的逻辑编写模式就会更加困难。

"table.whitelist": "public\\.(bg|cp)_.*"
 类似资料:
  • 问题内容: 刚刚开始探索正则表达式的“奇迹”。作为一个从试验和错误中学习的人,我真的很努力,因为我的试验抛出了不成比例的错误……我的实验是在PHP中使用ereg()进行的。 无论如何。我分别使用名字和姓氏,但现在使用相同的正则表达式。到目前为止,我有: 任何以大写字母开头且其余仅包含字母(大写或不大写)的长度字符串。但是我分崩离析的地方是在几乎任何地方都可能发生的特殊情况下。 连字符(Worthi

  • 问题内容: 我在尝试忽略某些字符之间的空格时遇到问题。我已经搜寻了几天,似乎找不到合适的解决方案。 这是我的代码: 基本上,这些是我遇到的一些情况: (请注意,width =“”和src =“”之间没有空格) 和 (请注意,在width =“”和height =“”之间没有空格。) 无论如何,有没有忽略这些字符之间的空格?因为我不是Regex专家。 问题答案: 如果可以使用空格,请添加一个。 \

  • 昨天,我需要向正则表达式添加一个文件路径,创建一个如下所示的模式: 一开始正则表达式不匹配,因为包含几个正则表达式特定的符号,如 或 。作为快速修复,我将它们替换为 和 . 与 . 然而,我问自己,是否没有一种更可靠或更好的方法来清除正则表达式特定符号中的字符串。 Python 标准库中是否支持此类功能? 如果没有,您是否知道一个正则表达式来识别所有正则表达式并通过替代品清理它们?

  • 问题内容: 我有一个表,其中存储了某些单词或单词组。我想选择以大写字母开头,没有空格且仅包含字母的条目。我的SQL看起来像这样: 我如何使用条件来做同样的事情? 问题答案: 尝试这个:

  • 有没有人试图描述与正则表达式匹配的正则表达式? 由于重复的关键字,这个主题几乎不可能在网上找到。 它可能在实际应用程序中不可用,因为支持正则表达式的语言通常具有解析它们的方法,我们可以将其用于验证,以及一种在代码中分隔正则表达式的方法,可用于搜索目的。 但是我仍然想知道匹配所有正则表达式的正则表达式是什么样子的。应该可以写一个。

  • 在 OpenResty 中,同时存在两套正则表达式规范:Lua 语言的规范和 ngx.re.* 的规范,即使您对 Lua 语言中的规范非常熟悉,我们仍不建议使用 Lua 中的正则表达式。一是因为 Lua 中正则表达式的性能并不如 ngx.re.* 中的正则表达式优秀;二是 Lua 中的正则表达式并不符合 POSIX 规范,而 ngx.re.* 中实现的是标准的 POSIX 规范,后者明显更具备通用