import java.util.regex.Matcher;
import java.util.regex.Pattern;/**
* ><name>Bill</name><salary>50000</slary><title>GM</title>使用正则表达式来解析表达式中的文字
* @author Administrator
*
*/
public class Demo4 {
public static void test()
{
String regex="<\\w+>(.)+</\\w+>"; String value="<name>Bill</name><salary>50000<slary><title>GM</title>";
Pattern p=Pattern.compile(regex);
Matcher m=p.matcher(value);
int i=m.groupCount();
System.out.println("组数"+i);
while(m.find())
{
System.out.println(m.group(1));
}
}
public static void main(String[] args)
{
test();
}
}
打红线部分 我错了。 目的就是用一个 组,来把中间的内容解析出来。
希望在我的基础上面修改。
输出结果就是:
1
Bill
50000
GM
请大虾帮忙 ,小弟不胜感激。
import java.util.regex.Pattern;/**
* ><name>Bill</name><salary>50000</slary><title>GM</title>使用正则表达式来解析表达式中的文字
* @author Administrator
*
*/
public class Demo4 {
public static void test()
{
String regex="<\\w+>(.)+</\\w+>"; String value="<name>Bill</name><salary>50000<slary><title>GM</title>";
Pattern p=Pattern.compile(regex);
Matcher m=p.matcher(value);
int i=m.groupCount();
System.out.println("组数"+i);
while(m.find())
{
System.out.println(m.group(1));
}
}
public static void main(String[] args)
{
test();
}
}
打红线部分 我错了。 目的就是用一个 组,来把中间的内容解析出来。
希望在我的基础上面修改。
输出结果就是:
1
Bill
50000
GM
请大虾帮忙 ,小弟不胜感激。
解决方案 »
- 请求高手:在主线程启动子线程后,子线程还在运行,而主线程后已经没有语句可以执行,这时为什么主线程不退出?
- 将图片转换为字节方式存储到Byte数组中
- JAVA如何创建Graphics对象
- 时间转换的问题
- 一个有关ArrayList转化到数组的问题
- 高手来提个醒:界面中一个Jtree已经创建完毕,当用户选取一个菜单项后,如何把重新添加一些节点。
- 怎样翻译(解释)?谢谢
- 怎样才能让Java写的程序在一般的Windows平台(没有装JDK的机器)上运行
- C++是面向对象,Java也是面向对象,为什么Java的成员方法不能在类外定义,而C++可以?
- 【求助】用eclipse打包的jar文件只能在本机上执行
- JBuilder使用说明
- java
import java.util.regex.Pattern;/**
* ><name>Bill</name><salary>50000</slary><title>GM</title>使用正则表达式来解析表达式中的文字
* @author Administrator
*
*/
public class Demo4 {
public static void test()
{
String regex="<\\w+>([^<]+)</\\w+>";
String value="<name>Bill</name><salary>50000</salary><title>GM</title>";
Pattern p=Pattern.compile(regex);
Matcher m=p.matcher(value);
int i=m.groupCount();
System.out.println("组数"+i);
while(m.find())
{
System.out.println(m.group(1));
}
}
public static void main(String[] args)
{
test();
}
}
这种需求适合用反向引用来做 public static void test()
{
String regex="<(\\w+)>([^<]+)</\\1>";
String value="<name>Bill</name><salary>50000</salary><title>GM</title>";
Pattern p=Pattern.compile(regex);
Matcher m=p.matcher(value);
while(m.find())
{
System.out.println(m.group(2));
}
}
(2)如果salary不属于楼主笔误,那么String regex = "<\\w+>(\\w+)</\\w+>";