我有以下字符串:
"1,4,6,22,88,105:22"
如何编写一个正则表达式来检查“:”的左侧部分,如果其中一个数字小于“x”或大于“y”,则会出错。
然后检查':'的右侧部分以及'x'和'y'的相同范围检查?
我是正则表达式的新手,很难做出这样的表达。
谢谢!
正则表达式不是用于此目的的好工具。您可以通过拆分和解析字符串来做所有您需要的事情:(看它运行)
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!");
}
}