[英]need to parse up to 3rd / in a string by using regexp in sql
当我尝试使用\\|(.*?),1,2
从下面的源中通过正则regexp
提取内容时\\|(.*?),1,2
这已经结束了,但是我只需要3rd /。 当我使用\\|(.*/){1,3},1,2
它给出的是http://localhost:6148372/content/bdsajf
并且我停留在结束搜索位置。 请帮助我。
U=https://www.abcdf.com/aecb/app/login|http://llcwokhfkdvc.webs.com/sajc-services
U=http://localhost:7438/en.html|http://localhost:6148372/content/bdsajf/en/kjf-LKJf/FJKSF-cbxjs.html
O / P应该是# http://llcwokhfkdvc.webs.com
和http://localhost:6148372
谢谢
尝试'\\|([^/]*/){1,3}'
(11i):
SQL> SELECT regexp_substr(txt, '\|(([^/]*/){1,3})', 1, 1, 'i', '1') regexp
2 FROM DATA;
REGEXP
--------------------------------------------------------------------------------
http://llcwokhfkdvc.webs.com/
http://localhost:6148372/
在10克中:
SQL> SELECT ltrim(regexp_substr(txt, '\|([^/]*/){1,3}'), '|') regexp
2 FROM DATA;
REGEXP
--------------------------------------------------------------------------------
http://llcwokhfkdvc.webs.com/
http://localhost:6148372/
你可以试试:
SELECT regexp_substr(t, '\|(http://.*?)/', 1, 1, NULL, 1)
FROM (
SELECT
'U=https://www.abcdf.com/aecb/app/login|http://llcwokhfkdvc.webs.com/sajc-services' AS t
FROM DUAL
UNION
SELECT
'U=http://localhost:7438/en.html|http://localhost:6148372/content/bdsajf/en/kjf-LKJf/FJKSF-cbxjs.htmlO/P should be # http://llcwokhfkdvc.webs.com and http://localhost:6148372' AS t
FROM DUAL
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.