ich mit folgenden Bedingungen regex müssenbenötigen regulären Ausdruck mit mehreren Bedingungen
- Es sollte bis zu 3 Dezimalstellen maximal 5 Ziffern akzeptieren dann
- es negativ sein kann
- kann es Null sein
- es kann nur Zahlen sein (max. bis zu 5 Ziffernstellenausrichtmittel)
- kann null sein
Ich habe folgende versucht, aber es ist nicht, die Erfüllung seiner nicht alle möglichen Bedingungen
@"^([\-\+]?)\d{0,5}(.[0-9]{1,3})?)$"
Z.B. Maximalwert kann von -99999.999 bis 99999.999 sein
Zum einen müssen Sie das '.' Wie '\. Wenn es ein nackter Punkt ist, bedeutet es "irgendeinen Charakter", der dir hier definitiv Schmerzen bereiten wird. Wenn Sie können, empfehle ich, die leere/Null-Prüfung außerhalb der Regex. Wie: 'valueIsOk = value.blank? || value.match? (regex) '. Wenn nicht, klopfen Sie einfach ein "?" Außerhalb der letzten Klammer. – mroach
Ihre vierte Regel widerspricht Ihrer ersten Regel. Ihr Muster implementiert eine Zeilenanfangs- und Zeilenende-Regel, die in Ihren Regeln nicht aufgeführt sind. Kein regulärer Ausdruck kann mit 'null' umgehen: Meinst du 'leer'? Wenn ich dies als eine Spezifikation gegeben hätte, würde ich es als mehrdeutig ablehnen. – EJP
10 @EJP Wenn Sie sich so fühlen, warum haben Sie dann geantwortet? –