当前位置: 代码迷 >> Java Web开发 >> 【求助】请正则表达式高手帮忙
  详细解决方案

【求助】请正则表达式高手帮忙

热度:131   发布时间:2011-10-18 17:31:46.0
【求助】请正则表达式高手帮忙
我有一批数据,数据大致格式如下:
第1种:第001号:信息处理
第2种:浙100号:生活开始了
第3种:第001(1)号:信息处理
第4种:第001号:信息002处理

我想要获取其中的数字001和100.用正则怎么写?
搜索更多相关主题的帖子: 信息  生活  表达式  

----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽
2011-10-18 15:23:04
chenbaichao

等 级:论坛游民
帖 子:152
专家分:20
注 册:2006-4-11
3
  得分:0 
回复 2楼 付政委
java里用的
----------------解决方案--------------------------------------------------------
人呢,论坛怎么越来越冷清了嘛。
----------------解决方案--------------------------------------------------------
{0-90-90-9}
----------------解决方案--------------------------------------------------------
回复 5楼 husiwen
这种效果不对,你取得是数据中的所有数字吧
----------------解决方案--------------------------------------------------------
有没有人帮忙呀?
----------------解决方案--------------------------------------------------------
妈的,脑残论坛,没人符合要求的,也能加分。
----------------解决方案--------------------------------------------------------
楼主需求不明确,我只能两种都列出来了
Condition1:
    String re = "((100)|(001))";//仅取100,001
Condition2:
    String re2 = "([0-9]{3})";//取所有三位的数字

直接给你java代码吧(copy到你的main函数中,直接扔给jvm跑就行了):
/****************************************<main>*************************************************/
    String string = "我有一批数据,数据大致格式如下:第1种:第001号:信息处理第2种:"   +
            "浙100号:生活开始了第3种:第001(1)号:信息处理第4种:第001号:信息002处理"   +
            "我想要获取其中的数字001和100.用正则怎么写?";
        //Pattern pattern = Pattern.compile("((100)|(001))");//Condition1
    Pattern pattern = Pattern.compile("([0-9]{3})");//Condition2
    Matcher matcher = pattern.matcher(string);
    while(matcher.find()){    //循环输出
        System.out.println(matcher.group(0));//表达式中括号的作用就在这儿
    }
/****************************************</main>*************************************************/
祝你好运!
----------------解决方案--------------------------------------------------------