首页 > 解决方案 > 如何替换包括双引号的字符?

问题描述

我有一个如下标签,我想替换其中的 USERNAME,这里的用户名是动态值:

<ns3:AgentName xmlns:ns3="http://example.com">USERNAME</ns3:AgentName>

我想用这个标签替换

<ns3:AgentName>XXXXXXX</ns3:AgentName>

我尝试了如下的正则表达式:

<ns3:AgentName.*</ns3:AgentName>
<ns3:AgentName xmlns:ns3="http://example.com">.*</ns3:AgentName>

没有什么对我有用

标签: javaregex

解决方案


当我在RegexPlanet测试它时,这对我有用。

我的正则表达式是:

(\<ns3:AgentName) xmlns:ns3="http://example.com"(\>).*(\</ns3:AgentName\>)

如果你想用 x 替换 USERNAME,我的替换是:

$1$2xxxxxx$3

如果你想把 USERNAME 放在替换中,我会让我的正则表达式这样:

(\<ns3:AgentName) xmlns:ns3="http://example.com"(\>.*)(\</ns3:AgentName\>)

我的替代品是:

$1$2$3

推荐阅读