读书人

帮忙写个正则解决方法

发布时间: 2012-09-22 21:54:54 作者: rapoo

帮忙写个正则
因不懂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));            }        } 

读书人网 >Java Web开发

热点推荐