【发布时间】:2019-09-23 09:08:18
【问题描述】:
我在实现 xpath 逻辑时遇到问题。如果我得到如下示例的结果,我正在尝试解析:
//html:h1/span[1]
每当出现方括号时,我都想在这个字符串之前加上:html,如下所示:
//html:h1/html:span[1]
如果我的例子是:
//html:h1/span/div
这里没有方括号,所以我想让我的字符串保持原样。
这是另一个例子:
//html:div/span[5]/div/span
我想要如下示例的预期输出:
//html:div/html:span[5]/div/span
我已经尝试通过正则表达式进行谷歌搜索和解析,但无法找到完全匹配的解决方案。
已编辑:
澄清一下,它不仅仅是span 标签。可以是 a、p 或其他 html 标签
一些场景:
//html:div[@id='ins_storybody']/p[2]
预期的输出应该是:
//html:div[@id='ins_storybody']/html:p[2]
这是另一种情况:
//html:div[@id='ins_storybody']/p[2]/div/span/li[@id='ins_storybody']
预期输出:
//html:div[@id='ins_storybody']/html:p[2]/div/span/li[@id='ins_storybody']
我想出了一种方法,可以使用正则表达式:match(/\[.@?\]/g),但无法获取带有方括号的附加字符串,以便我可以替换它。有什么建议吗?
【问题讨论】:
-
你们能否分享现有的答案链接(如果存在)?我找不到这就是我在这里发帖的原因。 :(
标签: javascript html regex xpath escaping