我有像
这样的数据U=ms&sv1=5xdUE3w0&sv2=3150912100&sv3=kuqd1nwca0&sv4= altima
U=ms&sv1=5xdUE3w0&sv2=3150912100&sv3=kuqd1nwca0&sv4= altima_dhfdbf&
U=ms&sv1=5xdUE3w0&sv2=3150912100&sv3=kuqd1nwca0&sv4= altima&ddhfy6574dfx
当我使用('date','sv4=(.*?)[_|&]',1,2)
时,我只能从最后两个获得,
然后我需要使用此('data','sv4=(.*?)$',1,2)
来保留剩余数据。
现在我需要一次处理所有这些。
O/P : altima from all the above data.
请在此建议,如何处理。
感谢!!!
答案 0 :(得分:1)
尝试使用:
sv4=(.*?)(?:[_&]|$)
请注意,在字符类中不需要|
来指定“OR”。
我不确定oracle中是否有非捕获组可用,但无法测试它。但是这在python,c#,php等中会起作用。
答案 1 :(得分:1)
regexp_substr(string,'sv4= (.*?)(_|&|$)',1,1,'i',1)
最后一个参数1,只提取第一个子表达式。