我正在尝试使用replace函数在Oracle Service Bus xquery转换中用一个反斜杠替换两个反斜杠:
让$ str:= replace($ srcStr,“\\\\”,“\\”),其中$ srcStr保存值“^ \\ d {1,4} $”
但由于某种原因,这不起作用。结果是stil“^ \\ d {1,4} $”
当我在例如呼叫同一功能时Altova XmlSpy这个工作正常:替换(“^ \\ d {1,4} $”,“\\\\”,“\\”)结果^ \ d {1,4}
有没有人知道为什么OSB与源字符串中的反斜杠不匹配?什么是解决方法?
答案 0 :(得分:2)
这是一个错误。
您可以编写自定义正则表达式来解决此错误。
declare function xf:replace_test($e as element()) as xs:string {
let $str := replace("junk (\)\ junk", ".*\\.*", "\$1")
return $str
};
declare variable $e as element() external;
xf:replace_test($e)`