我有以下两个网址搜索字符串:
?fbad_id=6073971598331
?fbad_id=+6073971598331
我尝试使用以下内容对其进行解码,
substring("search", '.*[?&]fbad_id=([^$&]*)') as fbad_id
但是如何更新代码以删除加号呢?
答案 0 :(得分:0)
您可以使用[+]?
在+
之后匹配1或0 =
个符号:
select substring('?fbad_id=+6073971598331' from '.*[?&]fbad_id=[+]?([^&]*)');
模式详情:
.*
- 尽可能多的0个字符,直到后续子图案的最后一次出现[?&]
- ?
或&
符号fbad_id=
- fbad_id=
子字符串[+]?
- 一个或零+
符号([^&]*)
- 捕获第1组,匹配除&
以外的任何0 +字符(因为[^...]
是否为否定的字符类)