gpt4 book ai didi

来自 URL 的正则表达式子字符串

转载 作者:行者123 更新时间:2023-12-01 13:11:11 25 4
gpt4 key购买 nike

我需要从 url 中检索一些词:

WebViewActivity - https://google.com/search/?term=iphone_5s&utm_source=google&utm_campaign=search_bar&utm_content=search_submit

我想要的返回:

search/iphone_5s

但我卡住了,并不真正理解如何使用 regexp_substr 来获取该数据。

我正在尝试使用这个查询

regexp_substr(web_url, '\google.com/([^}]+)\/', 1,1,null,1)

仅返回“搜索”字词,当我尝试时

regexp_substr(web_url, '\google.com/([^}]+)\&', 1,1,null,1)

事实证明,直到最后一个“&”我都明白了

最佳答案

您可以使用 REGEXP_REPLACE 来匹配整个字符串,但捕获两个子字符串并替换为两个对捕获组值的反向引用:

REGEXP_REPLACE(
'WebViewActivity - https://google.com/search/?term=iphone_5s&utm_source=google&utm_campaign=search_bar&utm_content=search_submit',
'.*//google\.com/([^/]+/).*[?&]term=([^&]+).*',
'\1\2')

参见 regex demoonline Oracle demo .

图案细节

  • .* - 尽可能多的除换行符以外的任何零个或多个字符
  • //google\.com/ - //google.com/ 子串
  • ([^/]+/) - 捕获第 1 组:/ 以外的一个或多个字符,然后是 /
  • .* - 尽可能多的除换行符以外的任何零个或多个字符
  • [?&]term= - ?& 和一个 term= 子串
  • ([^&]+) - 捕获第 2 组:&
  • 以外的一个或多个字符
  • .* - 尽可能多的除换行符以外的任何零个或多个字符

注意:要使用此方法并在未找到匹配项时获得空结果,请在正则表达式模式末尾附加 |.+

关于来自 URL 的正则表达式子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59822571/

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