当前位置: 代码迷 >> Java Web开发 >> 帮忙写个正则解决方法
  详细解决方案

帮忙写个正则解决方法

热度:7018   发布时间:2013-02-25 21:12:37.0
帮忙写个正则
因不懂java,请帮忙写个正则
字符串:
space:NationalID,LocalID,DrivingLicense,MilitaryID,Passport,HomePassId,OtherCard;type:1;name:身份证;number:110101197706158352

规则: space:($1);type:($2);name:($3);number:($4)
可以是全部或者是部分:
space:;type:;name:;number: //符合
type:1;name:2;number:3 //符合
name:2;number:3 //符合
number:3 //符合
space:;number:3 //符合

最好同时能正侧取出 $1 $2 $3 $4对应的值(不用理他们是什么字符) 它们可能是空。
谢谢,不知道我说得清楚不?

------解决方案--------------------------------------------------------
Java code
        String text = "space:NationalID,LocalID,DrivingLicense,MilitaryID,Passport,HomePassId,OtherCard;type:1;name:身份证;number:110101197706158352";        String regex = "space:([^;]*);type:([^;]*);name:([^;]*);number:(\\w*)";        Matcher m = Pattern.compile(regex, Pattern.CASE_INSENSITIVE).matcher(text);        if(m.find()){            for (int i = 0; i < m.groupCount(); i++) {                System.out.println(m.group(i+1));            }        }
  相关解决方案