Я ищу регулярное выражение, которое проверяет только положительные номера.
, например.
0 недействителен.
0.123 действительно.
действительное целое число.
любое отрицательное число недействителенРегулярное выражение для положительных чисел в C#
ответ
это может помочь U
положительное число --- ^\d*\.{0,1}\d+$
Это даст вам .123 как способный (это!), Но это не так, как в примере Класса Яна (0.123) – dotoree
Я не уверен, что регулярное выражение является лучшим способом проверить для положительных чисел, но если вы должны использовать регулярное выражение для какой-то причины, то это должно соответствовать вашим заявленным требованиям:
^(?:[1-9]\d*(?:\.\d+)?|0\.0*[1-9]\d*)$
+1 для аргумента, регулярное выражение не должно использоваться для разбора чисел. Это инструмент для сопоставления текста. – Aphelion
Попробуйте
^(?!-|0(?:\.0*)?$)\d+(?:\.\d+)?$
Посмотреть here on Regexr
^
начало строки
(?!-|0(?:\.0*)?$)
отрицательное опережения утверждение, терпит неудачу, когда строка начинается с «-» или 0 и 0.0 *, а затем к концу строки.
\d+
матчи по крайней мере одна цифра
(?:\.\d+)?
матчи необязательно точка следует, по меньшей мере, один разряд
$
конца строки
Если вы просто пытаетесь подтвердить введенные цифры действительными положительные числа, вам не нужно Regex
- просто используйте методы Parse
или TryParse
, определенные на Double
или Decimal
, и проверьте, чтобы значение было положительным.
decimal test;
if(decimal.TryParse(myString, out test))
{
// parsed OK, myString is a valid decimal
if(test > 0)
{
// yay, it is positive!
}
}
Да, сделайте то, что @Oded говорит. В противном случае вы столкнетесь со всякими странными вещами, такими как 007, неположительными, или 00.12 положительными. – zmbq
@zmbq: '00.12' * есть * положительный! И вы не столкнетесь с необычными крайними случаями, если будете осторожны, чтобы правильно писать и проверять свое регулярное выражение. С другой стороны, я согласен на 100%, что ответ Одеда предпочтительнее регулярного выражения (если у ОП нет истинной причины, по которой они должны * использовать регулярное выражение). – LukeH
Ну, верно, это позитивно. Во всяком случае, я пытался сказать, что вам не нужно быть осторожным и осторожным, если вы просто используете код Одеда. – zmbq
- 1. Регулярное выражение для всех положительных четных чисел
- 2. Регулярное выражение для отрицательных и положительных чисел
- 3. Регулярное выражение для положительных чисел и -1 Javascript
- 4. Регулярное выражение для чисел
- 5. Регулярное выражение для чисел?
- 6. Java регулярное выражение для отрицательных чисел?
- 7. Регулярное выражение для определенных чисел
- 8. Регулярное выражение для десятичных чисел
- 9. Регулярное выражение только для чисел
- 10. Регулярное выражение для арабских чисел
- 11. Регулярное выражение для финансовых чисел
- 12. Регулярное выражение для строки чисел
- 13. Регулярное выражение для чисел только
- 14. регулярное выражение для ввода чисел
- 15. Регулярное выражение для чисел Nokogiri?
- 16. Регулярное выражение для диапазона чисел
- 17. C#, о выводе положительных чисел
- 18. Регулярное выражение для определения положительных и отрицательных чисел в уравнении, но не для операторов
- 19. C# регулярное выражение замены чисел и единиц
- 20. Регулярное выражение для чисел в R
- 21. Регулярное выражение для парсинга чисел в python
- 22. Регулярное выражение для замены чисел в файле
- 23. Регулярное выражение в JS для чисел
- 24. Регулярное выражение для чисел в AngularJs
- 25. Регулярное выражение для форматирования чисел в JavaScript
- 26. Регулярное выражение в C#
- 27. Регулярное выражение для десятичных или десятичных чисел
- 28. Нужно написать регулярное выражение в C# для чисел только
- 29. Регулярное выражение в C# для разрешений чисел и алфавитов
- 30. Регулярное выражение для соответствия любому, кроме двоичных чисел, в C#?
Что сказал Google? – Mithrandir
Почему 0.123 не положительное число? Похоже, вы хотите найти номера 1 или больше. – SpaceBison
@SpaceBison - Вы прочитали вопрос? 0.123. – Oded