当前位置: 代码迷 >> Java相关 >> java 正则表达式分组解决办法
  详细解决方案

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

热度:5482   发布时间:2013-02-25 21:45:37.0
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()));            }        }    }
  相关解决方案