日期:2014-05-20  浏览次数:20696 次

java的正则
有一段文本的格式是“次要信息.=我想要的1|PM=/我想要的2/|QK=/我想要的3/|ND=/我想要的4”
如何设计正则表达式进行匹配,分别截取出我4段我想要的串?

------解决方案--------------------
String str = "次要信息.=我想要的1|PM=/我想要的2/|QK=/我想要的3/|ND=/我想要的4";
Pattern pattern = Pattern.compile("^.*=(.*)\\|.*/(.*)/\\|.*/(.*)/\\|.*/(.*)$");
Matcher matcher = pattern.matcher(str);
matcher.find();

for(int i=1; i<=matcher.groupCount(); i++){
System.out.println(matcher.group(i));
}
------解决方案--------------------
Java code

String str = "次要信息.=我想要的1|PM=/我想要的2/|QK=/我想要的3/|ND=/我想要的4";
        Pattern pattern = Pattern.compile("\\.=(.+?)\\|PM=/(.+?)/\\|QK=/(.+?)/\\|ND=/(.+)");
        Matcher matcher = pattern.matcher(str);
        while(matcher.find()){
            System.out.println(matcher.group(1));
            System.out.println(matcher.group(2));
            System.out.println(matcher.group(3));
            System.out.println(matcher.group(4));
        }