日期:2014-05-17  浏览次数:20802 次

求个正则表达式,急
求个正则表达式,急!
现在有如下格式的字符串:

-北京 2.4 1.3 12.34534 0.123 -上海 3.1 0 0 12.345 2.1 -南京………(一个横杠,加两个汉字,后边是5个实数)

我现在想提取出所有的汉字和实数,求教各位大神了,我是怎么配也配不好。。谢谢各位!!!

------解决方案--------------------
Java code

    public static void main(String[] args) {
        String s = "-北京 2.4 1.3 12.34534 0.123 -上海 3.1 0 0 12.345 2.1";
        Pattern p = Pattern.compile("(\\s\\d+(\\.\\d+)?){4}");
        Matcher m = p.matcher(s);
        while(m.find())
        {
            int start = m.start();
            int end = m.end();
            System.out.println(s.substring(start-2,start));
            String[] strs = s.substring(start, end).trim().split("\\s");
            for(String s1:strs)
            {
                System.out.println(s1);
            }
        }
    }