我有以下输入字符串:
string1: xyx;;;;str1=P1:P2|str2=1/3|str3=s1:s2
string2: mzn;;;;str1 = P3:P4 | str2 = 2/5
预期结果:对于 string1:str1_val=P1:P2 str2_val=1/3
对于字符串 2:str1_val=P3:P4 str2_val=2/5
我试过 str1_val= REGEXP_SUBSTR('xyx;;;;str1=P1:P2|strt2=1/3|str3=s1:s2', '(?<=str1=)(. ?)(?=|)' ) - 工作正常 str2_val=REGEXP_SUBSTR('xyx;;;;str1=P1:P2|str2=1/3|str3=s1:s2', '(?<=str2=)(. ?)(?=|) ') - 工作正常
对 string1 工作正常,但对 string2 不工作。请帮助一种适用于两种情况的方法