繁体   English   中英

AWS 雅典 regexp_extract

[英]AWS Athens regexp_extract

我正在尝试提取最后一个“/”和“_”字符之间的字符串“c://abcd/abcdef/0012wetr_1234567890.csv”的一部分。

0012wetr

我能够提取最后一个“/”字符后的所有内容

select regexp_extract('c://abcd /abcdef/0012wetr_1234567890.csv', '([^/]*)$');

0012wetr_1234567890.csv

不幸的是,我被卡住了,不知道如何进一步拆分它。

您的帮助将不胜感激。 干杯,A.

也许这是矫枉过正,但我设法使用前瞻的下一个组合获得了所需的结果 - (??\/)[^\/]+(?=_)

select regexp_extract('c://abcd /abcdef/0012wetr_1234567890.csv', '(?!\/)[^\/]+(?=_)');

Output:

_col0
0012wetr

正则表达式 101.com

您可以使用REGEXP_REPLACE方法:

REGEXP_REPLACE('c://abcd /abcdef/0012wetr_1234567890.csv', '.*/([^_]+).*', '$1')

请参阅正则表达式演示

如果在没有匹配项的情况下需要将结果保留为空白,请在模式末尾添加|.+

REGEXP_REPLACE('c://abcd /abcdef/0012wetr_1234567890.csv', '.*/([^_]+).*|.+', '$1')

详情

  • .* - 尽可能多的除换行符以外的任何零个或多个字符
  • / - 一个/字符
  • ([^_]+) - 第 1 组:除_以外的任何一个或多个字符
  • .* - 该行的 rest
  • | - 或者
  • .+ - 除换行符以外的任何一个或多个字符,尽可能多。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM