在长的URL中提取斜线之间的路径的Regexp。

问题描述 投票:0回答:1

我对regexp函数相当陌生。我正在使用SQL-syntax来尝试提取一个URL的特定路径。

URL的例子。

https://www.test.com/private/how-to-extract/certain/paths/with-regexp.html
                        1         2            3      4          5

所以我的第一列应该包括路径nr 1: private第二列路径nr 2: how-to-extract第三列: certain第四列: paths第五列: with-regexp.

我尝试了以下的方法。

,replace(regexp(URL, '(.*?)\/(.*?)', '$2'), '%20', ' ') as path1
,replace(regexp(URL, '(.*?)\/(.*?)\/(.*?)', '$3'), '%20', ' ') as path2
,replace(regexp(URL, '(.*?)\/(.*?)\/(.*?)\/(.*?)', '$4'), '%20', ' ') as path3
,replace(regexp(URL, '(.*?)\/(.*?)\/(.*?)\/(.*?)\/(.*?)', '$5'), '%20', ' ') as path4
,replace(regexp(URL, '(.*?)\/(.*?)\/(.*?)\/(.*?)\/(.*?)\/(.*?)', '$6'), '%20', ' ') as path5

我想我不太明白某些路径的regexp函数是如何运行的... ...

sql regex url path extract
1个回答
0
投票

最好使用 INSTR 函数,获取n个子串的出现次数。

INSTR( string, substring [, start_position [, nth_appearance ] ] )
© www.soinside.com 2019 - 2024. All rights reserved.