0

我有以下字符串:

"1,4,6,22,88,105:22"

如何编写一个正则表达式来检查“:”的左侧部分,如果其中一个数字小于“x”或大于“y”,则会出错。

然后检查':'的右侧部分以及'x'和'y'的相同范围检查?

我是正则表达式的新手,很难做出这样的表达。

谢谢!

4

1 回答 1

1

正则表达式不是用于此目的的好工具。您可以通过拆分和解析字符串来做所有您需要的事情:(看它运行

class Main
{
  public static void main (String[] args) throws java.lang.Exception
  {
        String inputString = "1,4,6,22,88,105:22";
        int min = 1;
        int max = 105;
        String[] splitString = inputString.split("[,:]");
        for (String part : splitString)
        {
            int parsedInt = Integer.parseInt(part);
            if (parsedInt < min || parsedInt > max)
                throw new Exception("Invalid");
        }
        System.out.println("Yay it's ok!");
  }
}
于 2013-06-14T20:06:01.713 回答