gpt4 book ai didi

java - 正则表达式查找 xml 标签之间的特殊字符

转载 作者:行者123 更新时间:2023-12-01 17:21:40 28 4
gpt4 key购买 nike

从另一个模型生成的xml字符串将传递给我,它可能在xml标签的文本中包含一些特殊字符,例如&。
例如

<entry>
<key>state</key>
<value xsi:type="xs:string">ADDDRESS 3 & ADDR 4, 12345, HONG KONG</value>
</entry>

当我从字符串构建xml时会出现无效字符错误,所以我需要转义特殊字符& .
我想使用正则表达式来查找 &之间<value></value>标记并替换为 &amp;
我尝试过一些,但在正则表达式上失败了。

有人能给我一些关于正则表达式的线索吗?

此外我使用 Java 1.6

最佳答案

您可以使用前瞻:

替换

&(?!\w*;)(?=[^<]*</value>)

&amp;

这通过指定两个前瞻来实现。第一个前瞻(?!\w*;)防止匹配有效的 HTML 转义序列。第二次前瞻 (?=[^<]*</value>)指定 </value>标签必须跟在文本后面(在一定量的非 XML 标签内容之后)。

尝试一下 here .

关于java - 正则表达式查找 xml 标签之间的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18326337/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com