用于匹配字符串直到第一次出现定界符的正则表达式

Regex for matching a string until the first occurrence of a delimiter

我有一个字符串,我需要匹配一个模式,并在模式匹配后第一次出现定界符后丢弃字符串的其余部分

示例字符串:

_fw_xx_app_id=xxxxx&adobe_id=59742375247590810332565440942222920249&krux_user=yyyyyyy&User_Agent=zzzzzz&_fw_did_idfa=aaaaaaa&_fw_dpr=2.00&_fw_ae=nonauthenticated&_fwu%3A386123%3Atqxqle5of=1&_fwu%3A386123%3Atshc3wdb8=1

我只想提取键“_fw_ae=”之后的值,直到第一次出现 &

我试过了

regexp_substr(all_request_kv,'_fw_ae=(.+?)&|$',1,1,'e')

但这带来了 _fw_ae= 之后的一切 如下图

_fw_ae=nonauthenticated&_fwu%3A386123%3Atqxqle5of=1&_fwu%3A386123%3Atshc3wdb8=1 where as i only want nonauthenticated in this example

您可以使用否定字符 class [^&] 来代替非贪婪量词,而不是匹配捕获组内的 &

_fw_ae=([^&]+)

Regex demo