我想从字符串中提取货币代码字符串如下所示: brand_sportswear|FOOTWEAR_FOOTWEAR_FOOTWEAR|footwear_footwear_footwear|12787274_12016989_12787233|EUR276.94 最后是货币。如果我使用 '\|[A-Z]{3}[1-9]' 我可以在最后得到货币,但这是输出:
brand_sportswear|FOOTWEAR_FOOTWEAR_FOOTWEAR|footwear_footwear_footwear|12787274_12016989_12787233|EUR276.94
'\|[A-Z]{3}[1-9]'
|EUR2
我怎么能只提取最后的货币代码?对我来说,把
'USD|EUR|JPY'
因为我有很多货币通过。
falq053o1#
presto允许lookaheads,因此您可以使用以下选项:
regexp_extract(string, '\|[A-Z]{3}(?=[1-9])')
但是,这不会移除管道 | .我认为普雷斯托目前不允许落后。
|
另一种选择是使用捕获组:
regexp_extract(string, '\|(A-Z{3})[1-9]', 1)
或者,您可以使用以下命令对现有regex-it子串:
substr(regexp_extract(string, '\|A-Z{3}[1-9]'), 2, 3)
1条答案
按热度按时间falq053o1#
环顾四周
presto允许lookaheads,因此您可以使用以下选项:
但是,这不会移除管道
|
.我认为普雷斯托目前不允许落后。
“捕获”组
另一种选择是使用捕获组:
子串
或者,您可以使用以下命令对现有regex-it子串: