AAA>BBB>CCC>DDD 与 ([^>]*$) 我得到了最后一部分DDD。我怎样才能得到它之前的部分,CCC? 谢谢! 最佳答案 您可以使用 REGEXP_SUBSTR('>-6ren">
gpt4 book ai didi

正则表达式:获取 "path"的倒数第二部分

转载 作者:行者123 更新时间:2023-12-02 19:50:09 28 4
gpt4 key购买 nike

我有这样的东西:

>AAA>BBB>CCC>DDD

([^>]*$)

我得到了最后一部分DDD。我怎样才能得到它之前的部分,CCC

谢谢!

最佳答案

您可以使用

REGEXP_SUBSTR('>AAA>BBB>CCC>DDD', '([^>]+)>[^>]+$', 1, 1, NULL, 1)

([^>]+)>[^>]+$ 正则表达式将匹配除 > 之外的任何 1+ 个字符并将其捕获到第 1 组中,然后将匹配 > 后跟除 > 以外的任何 1+ 个字符,直到字符串末尾。

最后一个参数 1 告诉 REGEXP_SUBSTR 仅返回捕获的子字符串。

参见online demo .

另一种方法是替换整个字符串,但保留您选择的捕获部分:

REGEXP_REPLACE( '>AAA>BBB>CCC>DDD', '.*>([^>]+)>[^>]+$', '\1')

查看另一个online demo .

这里,.*>将匹配>之前的所有字符串,然后([^>]+)将捕获任何> 之外的 1+ 个字符,然后 >[^>]+$ 将匹配并消耗 > 之外的 1+ 个字符> 位于字符串末尾。

关于正则表达式:获取 "path"的倒数第二部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58331011/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com