【发布时间】:2016-11-23 17:36:15
【问题描述】:
假设我有一个像 /Results/Bill[Item[id]]/id 这样的 XPath 字符串。我需要将命名空间信息添加到路径中,以便将路径转换为:/*:Results/*:Bill[*:Item[*:id]]/*:id。
我正在考虑使用正则表达式来执行此操作,例如“将“*:”添加到任何前面没有另一个字母数字字符的字母数字字符”。但是,我没有太多的正则表达式知识,也不知道这对应于什么正则表达式(一旦我有了正则表达式,我打算使用 Java 的 replaceAll() 函数)。另外,谁能想到一个我的想法行不通的反例?我将使用简单的谓词(即方括号之间没有and、or 等)对XPath 字符串执行替换操作。
【问题讨论】:
-
如果您只需要在任何字母数字/下划线单词前面加上
*:,请将\w+替换为*:$0。