TLDR:我想提取模式。Table_name来自一个句子,其中这些是唯一的单词。词匹配
我正在看解析一些日志与Databricks regex_extract (Java正则表达式)。格式是这样的:
2022.11.07T00:00:00.0000 | log_info schema.table_name... [ hh.mm.ss ]
我从这个开始得到我需要从
中提取的东西:SELECT split_part(split_part(message, '|', 2), '[', 1)
FROM (SELECT '2022.11.07T00:00:00.0000 | log_info schema.table_name... [ hh.mm.ss ]' as message)
这让我:"log_info schema.table_name…">
但是现在我想要得到第一个周期前后的第一个单词。
任何帮助将是伟大的,特别是如果有一个比使用split_parts更优雅的解决方案。
昨天晚上在梦里弄明白了。
SELECT regexp_extract(message, '([a-z]+[.][a-z]+(?:_[a-z]+)*)')
FROM (SELECT '2022.11.07T00:00:00.0000 | log_info schema.table_name... [ hh.mm.ss ]' as message)