文档中的正则表达式匹配不上给出的例子

https://docs.pingcap.com/zh/tidb/stable/tidb-lightning-data-source#自定义文件匹配

该小节中,正则表达式

(?i)^(?:[^/]/)([a-z0-9_]+).([a-z0-9_]+)/(?:[^/]/)(?:[a-z0-9\-_.]+.(parquet))$

不能匹配给出的样例url

S3://some-bucket/some-subdir/some-database/some-database.some-table/part-00000-c5a881bb-58ff-4ee6-1111-b41ecff340a3-c000.gz.parquet

正确的正则表达式应为:

(?i)^(?:[^/]/)([a-z0-9\-_]+).([a-z0-9\-_]+)/(?:[^/]/)(?:[a-z0-9\-_.]+.(parquet))$

如此方可匹配到库名和表中中出现的(-)字符。
经测试,库名中和表名中可以包含(-)字符。

发贴后才发现有可能是显示问题,在注释引用下是会吞掉(\),需要转义使用(\\),这可能就是原本正确的正则表达式也变成错误的原因。

收到~我反馈一下~

相关 PR 可见:https://github.com/pingcap/docs-cn/pull/15440/commits/36948310f5379c7a7b3d889fd0b624feb4122480

谢谢你的反馈~。(-) 字符是可以包含的,如果你的数据库表名包含 (-) 字符,直接加上即可

1 个赞

请问一下,上面图中用的是什么数据库呢,是 aurora 的什么版本呢

数据库用的是tidb7.4。

get,这里只是以 aurora 为例来解释这个功能,理解了这个功能之后完全可以更加灵活地使用它,不必局限于例子。(-) 已在 pr 中加上了 :blush:

1 个赞

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。