Java Regex Int Validate parseIntegerList(String var0, int var1, int var2)

Here you can find the source of parseIntegerList(String var0, int var1, int var2)

Description

parse Integer List

License

LGPL

Declaration

public static int[] parseIntegerList(String var0, int var1, int var2) 

Method Source Code

//package com.java2s;
//License from project: LGPL 

import java.util.ArrayList;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Main {
    public static int[] parseIntegerList(String var0, int var1, int var2) {
        ArrayList var3 = new ArrayList();
        Pattern var4 = Pattern.compile("(\\d*)-(\\d*)");
        String[] var5 = var0.replace(',', ' ').split("\\s+");
        int var6 = var5.length;

        for (int var7 = 0; var7 < var6; ++var7) {
            String var8 = var5[var7];

            try {
                if (var8.matches("\\d+")) {
                    var3.add(Integer.valueOf(Integer.parseInt(var8)));
                } else {
                    Matcher var9 = var4.matcher(var8);

                    if (var9.matches()) {
                        String var10 = var9.group(1);
                        String var11 = var9.group(2);
                        int var12 = var10.equals("") ? var1 : Integer.parseInt(var10);
                        int var13 = var11.equals("") ? var2 : Integer.parseInt(var11);

                        for (int var14 = var12; var14 <= var13; ++var14) {
                            var3.add(Integer.valueOf(var14));
                        }/*from w  w  w  .  j  av a  2  s  . c om*/
                    }
                }
            } catch (NumberFormatException var15) {
                ;
            }
        }

        if (var1 <= var2) {
            int var16 = 0;

            while (var16 < var3.size()) {
                if (((Integer) var3.get(var16)).intValue() >= var1
                        && ((Integer) var3.get(var16)).intValue() <= var2) {
                    ++var16;
                } else {
                    var3.remove(var16);
                }
            }
        }

        int[] var17 = new int[var3.size()];

        for (var6 = 0; var6 < var17.length; ++var6) {
            var17[var6] = ((Integer) var3.get(var6)).intValue();
        }

        return var17;
    }
}

Related

  1. parseInt(String[] strs)
  2. parseInteger(String attrVal)
  3. parseInteger(String inStr, Integer def)
  4. parseInteger(String key, String sourceString)
  5. parseInteger(String str)
  6. parseIntegers(String integerString)
  7. parseIntToString(String value)