首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >用于捕获和替换元素textContent的RegEx

用于捕获和替换元素textContent的RegEx
EN

Stack Overflow用户
提问于 2019-05-21 05:21:55
回答 1查看 178关注 0票数 -1

我想要替换这两个示例中"name“节点的值。我使用regex group来匹配并替换它。分组工作正常,但替换不起作用。

代码语言:javascript
复制
input 1
<xml
   <user:address>.../</user:address>
   <user:name>foo</user:name>
</xml>

input 2

<xml
   <user:address>.../</user:address>
   <street:name>bar</street:name>
</xml>


private static final String NAME_GROUP = "name";
public static final Pattern pattern = Pattern.compile("<.*:name>" + "(?<" + NAME + ">.*)</.*:name>");

final Matcher nameMatcher = pattern.matcher(str);
final String s = nameMatcher.find() ? nameMatcher.group(NAME_GROUP) : null;
System.out.println(s);

//foo
//bar

现在,当我替换掉

代码语言:javascript
复制
String output = nameMatcher.replaceFirst("hello")
 I get 
 hello</xml>

虽然我对以下内容有所期待

代码语言:javascript
复制
<xml
       <user:address>.../</user:address>
       <user:name>hello</user:name>
    </xml>

对于这两个示例。为什么组在工作,而不是替换?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56228346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档