我如何捕获=号之前的单词,URL中还有另一个我不想捕获的等号
SELECT
REGEXP_SUBSTR('TType=SEND|Status=OK|URL=min://j?_a=3&ver=1.1|day=3',
'([^|]+)=', 1,1,NULL,1) "TType"
FROM DUAL;
从上面的字符串 TType=SEND|Status=OK|URL=min://j?_a=3&ver=1.1|day=3
我只想要 TType,Status,URL,day
注意:字符串中有一个管道定界符| 对于参数
您可以使用
SELECT
TRIM(',' FROM REGEXP_REPLACE('TType=SEND|Status=OK|URL=min://j?_a=3&ver=1.1|day=3',
'=[^|]+($|\|)', ',')) "TType"
FROM DUAL
该REGEXP_REPLACE
会找到并用逗号替换所有出现的=[^|]+($|\|)
模式匹配
=
-一个=
字符[^|]+
-除以下以外的一种或多种字符 |
($|\|)
-字符串结尾或|
。观看在线演示。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句