Ich habe einige Probleme beim Versuch, eine Regex für meinen Code zu finden. Hier ist es:Ich brauche eine Regex, die Zahlen in Abhängigkeit von einer Variablen
Scanner key = new Scanner(System.in);
//this is the variable
int s = 4;
String input = "";
String bregex = "[1-9][0-9]{1," + (s*s) + "}";
boolean cfgmatch = false;
while(cfgmatch == false){
input = key.next();
Pattern cfgbp = Pattern.compile(bregex);
Matcher bm = cfgbp.matcher(input);
if(bm.matches()){
System.out.println("working");
}
else{
System.out.println("not working");
}
}
Ich versuche, eine Regex zu machen, um eine Reihe von Zellen in einer Platine zu resrict. Die Anzahl der Zellen kann nicht höher sein als der Platz auf dem Board, der "s * s" ist.
Beispiel: Wenn Boards Größe 4 ist, kann der Eingang von 1 bis 16 Jahre alt sein, wenn sie 5 ist, von 1 bis 25, etc ...
Brettgröße nur von 1 bis 9 sein kann
Ich habe geschrieben, während, um eine andere Nummer zu fragen, falls die Eingabe fehlschlägt.
Warum Sie einen String-Tool, regex verwenden, für das, was klingt wie am besten durch eine einfache nu gehandhabt wird Meric boolescher Check? Es sieht so aus, als ob du mit einem Schraubenzieher Holzbretter durchschneiden willst - dass du das falsche Werkzeug für den Job verwendest. –
Ich denke, [Zawinski] (https://blog.codinghorror.com/regular-expressions-now-you-have-two-problems/) meinte Situationen wie diese, als er schrieb: "Einige Leute, wenn sie mit einem Problem konfrontiert werden, Denken Sie "Ich weiß, ich werde reguläre Ausdrücke verwenden." Jetzt haben sie zwei Probleme. " –