用正则表达式解析xml
想把
<listenPort>8000</listenPort>
中间的数字(数字未知)替换成3000,搞了半天没搞出来代码如下
String regex = "<listenPort>(.+)</listenPort>";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(xml);
while(m.find()){
xml = m.replaceAll("3000");
}
是把整个"<listenPort>(.+)</listenPort>";都替换了,请问如何对括号里的内容进行替换啊?
想把
<listenPort>8000</listenPort>
中间的数字(数字未知)替换成3000,搞了半天没搞出来代码如下
String regex = "<listenPort>(.+)</listenPort>";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(xml);
while(m.find()){
xml = m.replaceAll("3000");
}
是把整个"<listenPort>(.+)</listenPort>";都替换了,请问如何对括号里的内容进行替换啊?
解决方案 »
- 请问一个拆分String的问题
- exe4j生成的exe文件运行出错??
- 关于异常处理的问题
- 简单!来者有分
- ===有奖竟猜===季后赛=火箭VS小牛(2)=== 截止时间:4月26日-9点59分
- 关于package的问题?java源文件会妨碍对package 所在路径的搜索么?
- 用import时的问题???????????????
- 照抄书上代码报错: 不是抽象的,并且未覆盖 java.awt.event.KeyListener 中的抽象方法KeyReleased
- :)***我的《信息小屋》软件,自认为很独特,请各位大哥、大姐给个评价。:)***
- 哪里能找到tomcat+Apache或tomcat+IIS的教程?
- JAVA程序类的属性复制问题
- java中的委托
public static void main(String[] args) {
String xml = "<listenPort>8000</listenPort>,<listenPort>2000</listenPort>";
String regex = "(<listenPort>)([0-9]+)(</listenPort>)";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(xml);
while(m.find()){
xml = m.replaceAll("$13000$3");
}
System.out.println(xml);
}
}