我在url中有文件名要删除前面的URL和文件路径以及""后出现的版本;
尝试使用正则表达式来提取CaptialForecasting_Datasheet.pdf
Google Data Studio中的Extract似乎很独特。尝试了这个建议,但一直无法解析'错误。我能够用以下内容删除网址的第一部分。事件标签是我存储下载PDF的URL的地方。
网址:https://www.dudesolutions.com/Portals/0/Documents/HC_Brochure_Digital.pdf?ver=2018-03-18-110927-033
EXP_EXTRACT( Event Label , 'Documents/([^&]+)' )
它给了我一个结果:
HC_Brochure_Digital.pdf?版本= 2018-03-18-110927-033
现在试图确定如何在之后取出所有内容?版本数据的位置。那么只需要Filename.pdf。
答案 0 :(得分:0)
以下正则表达式将使用.pdf
扩展名
(?:[^\/][\d\w\.]+)(?<=(?:.pdf))
您可以添加更多此类扩展名
(?:[^\/][\d\w\.]+)(?<=(?:.pdf)|(?:.jpg))
答案 1 :(得分:0)
假设名称显示在最后一个/
之后,并以?
结尾,则下面的正则表达式将在组1中保留名称,您可以使用\1
或无论你使用什么工具支持。
.*\/(.*)\?
它基本上说:将所有内容放在最后/
和第一个?
之间,并将其放在第1组中。
另一个只匹配您想要但更复杂的文件名的正则表达式是:
(?<=\/)[^\/]*(?=\?)
它匹配所有非/
个字符[^\/]
,紧跟/
,(?<=\/)
后紧跟?
,(?=\?)
。第一个括号是一个正面的后观,括号中的第二个表达是一个积极的前瞻。
答案 2 :(得分:0)
你可以尝试:
即使路径中有问号,也会匹配CaptialForecasting_Datasheet.pdf
。例如,正则表达式将在以下两种情况下都成功:
https://www.dudesolutions.com/somepath/CaptialForecasting_Datasheet.pdf?ver
https://www.dudesolutions.com/somepath?/CaptialForecasting_Datasheet.pdf?ver
答案 3 :(得分:0)
此REGEXP_EXTRACT
公式捕获了a-zA-Z0-9_.
和/
之间的字符?
REGEXP_EXTRACT(Event Label, "/([\\w\\.]+)\\?")
Google Data Studio Report进行演示。
答案 4 :(得分:0)