次の文字列があります。
"1,4,6,22,88,105:22"
「:」の左の部分をチェックする正規表現を作成するにはどうすればよいですか。数値の 1 つが「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!");
}
}