【发布时间】:2021-03-26 07:55:06
【问题描述】:
我在 H2 数据库的表的列中有一些字符串。例如:
24058031_1607945815000_bucket/MSAVI/32SMJ4/S2_**20201214**_065_32SMJ4_A_MSAVI.tif
bucket/20201214/ET0_**20201214**.tif_4937923_1607945815000
我想结合一些 h2 函数从字符串中提取粗体日期(字符串可以是通用字符串,其内部日期格式为 yyyyMMdd); 我想像这样的查询:
Select extractDateFromString(column) from table;
但问题是构建一个extractDateFromString 函数来实现这一点。
欢迎提出任何建议。谢谢!洛伦佐
【问题讨论】:
-
如果您的正则表达式支持lookbehinds,
(?<!\d)\d{8}(?=\D)(?=[^\/]+$)会起作用。 regex101.com/r/hucx8f/1 -
谢谢,但实际上我正在寻找正则表达式和 H2 函数来提取此正则表达式的所有匹配项作为子字符串,或者如果不存在则实现此函数的方法(可能已经编写了一些现有的 H2 函数)