Ich möchte einen Filter erstellen, der prüft, ob ein typisierter Wert erwartet wird.
Erlaubt sind negative und positive (ohne '+' sugn) Zahlen, die nicht vor Null liegen. Auch ein negatives Vorzeichen ist erlaubt.
Problem ist, ich kann Suche der negativen Zahl tun, aber ich kann nicht Bedingung hinzufügen, um auch minus zu finden.
Ich habe versucht, Lookaheads und ganzen Mechanismus zu verwenden, aber ich habe versagt.
OK: -, -10, -54, 66, 0, 1
NOK: +, +1, -010, 010Regex, positiver oder negativer Int nicht vorangestellt von 0 oder minus
-2
A
Antwort
2
Was ist das:
^(?:(?:-?(?:[1-9]\d*)?)|0)$
Erläuterung:
^ start marker
- literally matches - sign
? makes it optional
([1-9]\d*) start by non zero digit followed by optional digits
([1-9]\d*)? the question sign makes it optional
|0 means or a single zero
$ end marker
0
Unten ist die richtige Arbeits regex:
^-?(?:[1-9]\d*|0)?$
Es deckt alle Testfälle
0
verwenden: ^-?(?:(?:[1-9]\d*|0))?$
Beginnen Sie mit einem optionalen -
, dann stellen Sie sicher, dass die erste Ziffer ist alles andere als 0 mit dem Rest so viele Ziffern wie möglich. Behandeln Sie auch nur den Sonderfall 0
.
Verwandte Themen
- 1. Ändere Textfarbe abhängig von positiver oder negativer Ganzzahl
- 2. Kristall Bericht negativer und positiver Wert Gestaltung
- 3. Regex nicht vorangestellt href = "
- 4. Hive regex: Positiver Lookahead für '&' oder Ende der Zeichenkette
- 5. Javascript regex negativer Look-Behind
- 6. regex negativer Lookahead funktioniert nicht
- 7. Jquery RegEx Start durch Plus oder Minus und nur Zahlen
- 8. RegEx Advanced: Positiver Lookbehind
- 9. WPF konvertieren Checkbox.IsChecked in int oder string 1 oder 0
- 10. d3js - Erstellen einer benutzerdefinierten Skala - Positiver und negativer Logarithmus
- 11. width: erben minus (oder plus)
- 12. Senden negativer Int über serielle
- 13. Regex nicht durch ein Wort vorangestellt
- 14. Java regex negativer Lookahead funktioniert nicht richtig
- 15. Regex darf nicht mit 0 beginnen, aber mit 0 oder 0 beginnen,
- 16. Perl Regex "Not" (negativer Lookahead)
- 17. Regex zum Akzeptieren von 6 oder 8 Ziffern, gefolgt von 0, 1 oder 2 Buchstaben
- 18. Regex: Nicht-Wort-Zeichen mit Leerzeichen vorangestellt oder am Anfang einer Zeile
- 19. Bedeutung von int (0) in int * pi = neuer int (0) ;?
- 20. Regex-Klasse nicht übereinstimmt '(' ')' oder '$'
- 21. Java regex negativer Lookahead zum Ersetzen von nicht-dreifachen Zeichen
- 22. regex, negativer Lookahead (?!?) Find <Tags nicht gefolgt von?
- 23. DocumentId: Zeichenkette oder Int?
- 24. Python Regex? Operation: Gibt es eine Rückkehrpräferenz, 0 oder 1?
- 25. php, regex preg_match ein bestimmtes Wort 0 oder 1 Mal
- 26. Rückgabe von 0, wenn ein negativer Wert gefunden wird
- 27. Nicht sicher auf Links Join, Outer Join, Gewerkschaften oder Minus?
- 28. Python Fuzzy Regex mit verschachtelten oder Regex
- 29. Wie verknüpfe Plus oder Minus in c Makro?
- 30. JavaScript RegEx: alle Minuswerte, die nicht am Anfang oder Ende der Zeichenfolge für die Währungseingabe sind
Zeigen Sie uns die Regex (e), die Sie ausprobiert haben. – CinCout
Auch, warum ist nur '-' OK? Macht keinen Sinn. – CinCout
@CinCout, denn wenn ich eine negative Zahl eingeben möchte, muss ich von "-" ausgehen und ich möchte einen "einstufigen" Vergleich haben. Was ist der Zweck, nicht funktionierende Regexp zu zeigen? – rainbow