字符串与正则表达式分开

时间:2013-02-13 11:38:49

标签: java regex tokenize

我想根据我在java中的正则表达式获取一个字符串。假设我有一个字符串"R12T12W5P12T5L3"
。现在我希望得到这样的结果:myStr[0]="R12T12",myStr[1]="W5P12",myStr[2]=T5L3.我希望我的正则表达式首先是一个字符然后是一个数字然后再一个字符并且最后一个数字。 我怎么能这样做?

2 个答案:

答案 0 :(得分:3)

String s="R12T12W5P12T5L3";
    String regex = "([A-Z]\\d+){2}";
    Pattern p = Pattern.compile(regex);
    Matcher m = p.matcher(s);
    while(m.find()){
        System.out.println(m.group(0));
    }

这将打印

R12T12
W5P12
T5L3

你可以把它们放到一个列表中并在最后转换成数组。

答案 1 :(得分:0)

从正则表达式到字符串构建的所有操作,在javascript:

var str = "R12T12W5P12T5L3";
var result = str.split(/(?=[^\d]){2}/).map(function(v,i,a){
     return i%2 ? a[i-1]+v+'",' : 'myStr['+(i/2)+']="'
}).join('').slice(0,-1);

结果:

myStr[0]="R12T12",myStr[1]="W5P12",myStr[2]="T5L3"