Вопрос

I have the data like

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

when i use ('date','sv4=(.*?)[_|&]',1,2) i am able to get from last two only, then i need to use this ('data','sv4=(.*?)$',1,2) for remaining data.

Now I need to handle all these at a time.

O/P : altima  from all the above data.

please suggest on this, how to handle.

Thanks!!!

Это было полезно?

Решение

Try using:

sv4=(.*?)(?:[_&]|$)

Note that you don't need | in character classes to designate 'OR'.

I'm not sure if non-capture groups are available in oracle though and can't test it. But this would work otherwise in python, c#, php, etc.

Другие советы

regexp_substr(string,'sv4= (.*?)(_|&|$)',1,1,'i',1)

The last parameter 1, to extract only first subexpression.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top