如何在特定定界符的第一例结束后,然后在使用Regex的特定定界符的最后实例之前删除所有内容? -SQL

发布于 2025-01-20 08:44:49 字数 629 浏览 0 评论 0原文

我想以特定格式格式化表列中的字符串。

输入表:

file_paths
my-file-path/wefw/wefw/wef/wfweof=wefonwe/wfewoi=weoif/
my-file-path/wefw/wef/ef=wefonwe/wfewoi=weoif/
my-file-path/wef/wfe/wefw/wef/ef=wefonwe/wfewoi=weoif/

我想删除第一个 = 符号之后的所有内容,然后删除 = 符号之前和最后一个 / 符号之后的所有内容。

输出:

file_paths
my-file-path/wefw/wefw/wef/
my-file-path/wefw/wef/
my-file-path/wef/wfe/wefw/wef/

我正在考虑做类似的事情:但

SELECT regexp_replace(file_paths, 'regex_here', '', 1, 'i')
FROM my_table

我不确定如何为此编写正则表达式。如果有的话,我也愿意接受更简单的字符串操作方法。提前致谢!

I want to format the strings in a table column, in a specific format.

Input Table:

file_paths
my-file-path/wefw/wefw/wef/wfweof=wefonwe/wfewoi=weoif/
my-file-path/wefw/wef/ef=wefonwe/wfewoi=weoif/
my-file-path/wef/wfe/wefw/wef/ef=wefonwe/wfewoi=weoif/

I want to remove everything after the first = sign, then remove everything before the = sign and after the last / sign.

Output:

file_paths
my-file-path/wefw/wefw/wef/
my-file-path/wefw/wef/
my-file-path/wef/wfe/wefw/wef/

I'm thinking of doing something like:

SELECT regexp_replace(file_paths, 'regex_here', '', 1, 'i')
FROM my_table

I'm unsure of how to write the RegEx for this though. I'm also open to easier methods of string manipulation, if there are any. Thanks in advance!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

眉黛浅 2025-01-27 08:44:49

您可以使用:

SELECT REGEXP_REPLACE(file_paths, '[^/=]+=.*', '', 1, 'i')
FROM my_table;

这是一个正则表达式演示,显示替换逻辑正在工作。

You may use:

SELECT REGEXP_REPLACE(file_paths, '[^/=]+=.*', '', 1, 'i')
FROM my_table;

Here is a regex demo showing that the replacement logic is working.

橘虞初梦 2025-01-27 08:44:49

您可以尝试这个正则表达式:

^(.*?\/)(?=[^\/]+=).*$

并将其替换为组 1

Demo

You may try this regex:

^(.*?\/)(?=[^\/]+=).*$

and replace it by group 1

Demo

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文