可以将Java Retval放入数组中吗

可以将Java Retval放入数组中吗,java,arrays,regex,string,Java,Arrays,Regex,String,我正在扫描一个字符串对象数组,每个字符串对象将被分解成一个正则表达式 在执行增强的for循环时,我想知道是否可以将retval放入数组中 例如,如果我有字符串regex=newstring[3] 其中正则表达式[0]=“偶数(0 | 1)*0” 增强的for循环可以将字符串对象分解为偶数和(0 | 1)*0 我希望能够在一个数组中放入偶数,在另一个数组中放入(0 | 1)*0。下面是我用字符串对象扫描字符串数组的代码 /* * Run through each String o

我正在扫描一个字符串对象数组,每个字符串对象将被分解成一个正则表达式

在执行增强的for循环时,我想知道是否可以将retval放入数组中

例如,如果我有字符串regex=newstring[3]

其中正则表达式[0]=“偶数(0 | 1)*0”

增强的for循环可以将字符串对象分解为偶数和(0 | 1)*0

我希望能够在一个数组中放入偶数,在另一个数组中放入(0 | 1)*0。下面是我用字符串对象扫描字符串数组的代码

    /*
     * Run through each String object and appropriately place them in the kind,
     * and explicit.
     */
    for (int j = 0; j < regex.length; j++)
    {
        for (String retval: regex[j].split(" ", 2))
        {
            System.out.println(retval);
        }
    }
/*
*遍历每个字符串对象,并将它们适当地放置在,
*而且是明确的。
*/
对于(int j=0;j
对于正则表达式[0],split(“,2)分别返回偶数BIN和(0 | 1)*0

或者,如果您知道如何更好地解决此问题,请告诉我: 偶数(0 | 1)*0

奇数(0 | 1)*1

宠物(猫、狗)

大写字母中的部分将放入“kind”数组,其余部分将放入另一个数组

因此,kind数组将有三个字符串,而另一个数组将有三个字符串


希望这不会太令人困惑……

使用Map对象存储信息可能是一个好主意,但是,如果您想将分析作为数组返回,可以返回数组数组并执行以下操作

String[] regex = {"EVEN_BIN_NUM (0|1)*0", "ODD_BIN_NUM (0|1)*1", "PET (cat|dog)"} ;
String[][] split = new String[regex.length][];

for(int i = 0; i < regex.length; i++) {
  split[i] = regex[i].split(" ", 2);

}
等等

或使用地图:

Map<String, Pattern> map = new HashMap<>();

for(int i = 0; i < regex.length; i++) {
  String[] splitLine = regex[i].split(" ", 2);
  map.put(splitLine[0], Pattern.compile(splitLine[1]));

}

您最终将需要某种方法来确定在for循环中循环的元素,因此只需编写一个普通循环,并将返回值分配给相应的数组。
Map<String, Pattern> map = new HashMap<>();

for(int i = 0; i < regex.length; i++) {
  String[] splitLine = regex[i].split(" ", 2);
  map.put(splitLine[0], Pattern.compile(splitLine[1]));

}
Pattern petPattern = map.get("PET");