读书人

java 正则表达式分组解决办法

发布时间: 2012-06-16 20:34:32 作者: rapoo

java 正则表达式分组
进入正题:现在又这样一个字符串
String dd="ksu<a001>sdf<a002>"
如何使用正则表达式分组成这样:
kus
<a001>
sdf
<a002>
如果 dd="dd<a001>dsdf<sdf"
就要分成这样
dd
<a001>
dsdf<sdf
如果 dd="dsdf<dsfsaf<a001>"
:dsdf<dsfsaf



请求高手帮忙啊不用正则表达式也可以,只要弄出来

[解决办法]

Java code
    public static void main(String[] args) {        String[] ss = { "ksu<a001>sdf<a002>", "dd<a001>dsdf<sdf",                "dsdf<dsfsaf<a001>","sdfadf<<a001>sdfsf<>sdfdfa<sdfasdfadf>>sdiep>" };        String s1 = "(<\\w{0,}>)";        Pattern p = Pattern.compile(s1);        for (String s : ss) {            System.out.println("==========");            //找到<>,<a001>格式的字符串            Matcher m = p.matcher(s);            int point = 0;            while (m.find()) {                int start = m.start();                int end = m.end();                                if (point == start)                {                    System.out.println();                }                else                {                    System.out.println(s.substring(point,start));                }                System.out.println(m.group());                point = end;            }            if (point != s.length())            {                System.out.println(s.substring(point,s.length()));            }        }    } 

读书人网 >Java相关

热点推荐