Markloigc:在 fn:replace 中转义正则表达式
Markloigc : Escape regular expression in fn:replace
任何人都可以帮助我如何在 fn:replace()
中转义正则表达式
我的实际代码是这样的,
请求
let $x := "/SLR/[2009] 3 SLR(R) 0327.xml"
return
(
fn:replace( $x, $x, "Expected Value")
)
响应:意外响应,因为它有正则表达式术语。
/SLR/[2009] 3 SLR(R) 0327.xml
如果我手动转义正则表达式,我得到了预期的结果。
喜欢,
请求
let $x := "/SLR/[2009] 3 SLR(R) 0327.xml"
return
(
fn:replace( $x, "/SLR/\[2009\] 3 SLR\(R\) 0327.xml", "Expected Value")
)
响应:
Expected Value
我的问题是我无法手动处理我拥有的 1000 个文件。
任何人都可以帮助我如何使它更容易吗?
functx 库提供了执行此操作的方法:
functx:escape-for-regex('[abc]') \[abc\]
http://www.xqueryfunctions.com/xq/functx_escape-for-regex.html
任何人都可以帮助我如何在 fn:replace()
中转义正则表达式我的实际代码是这样的,
请求
let $x := "/SLR/[2009] 3 SLR(R) 0327.xml"
return
(
fn:replace( $x, $x, "Expected Value")
)
响应:意外响应,因为它有正则表达式术语。
/SLR/[2009] 3 SLR(R) 0327.xml
如果我手动转义正则表达式,我得到了预期的结果。
喜欢,
请求
let $x := "/SLR/[2009] 3 SLR(R) 0327.xml"
return
(
fn:replace( $x, "/SLR/\[2009\] 3 SLR\(R\) 0327.xml", "Expected Value")
)
响应:
Expected Value
我的问题是我无法手动处理我拥有的 1000 个文件。
任何人都可以帮助我如何使它更容易吗?
functx 库提供了执行此操作的方法:
functx:escape-for-regex('[abc]') \[abc\]
http://www.xqueryfunctions.com/xq/functx_escape-for-regex.html