Регулярное выражение, чтобы соответствовать любому числу (реальное, рациональное вместе со знаками)
Я написал регулярное выражение для соответствия любому числу:
Положительный и отрицательныйДесятичныйДействительные числаСледующее регулярное выражение хорошо, но есть один недостаток
([\+\-]{1}){0,1}?[\d]*(\.{1})?[\\d]*
Это положительно для входов, таких как+ или же- также. Любые указатели будут с благодарностью. Благодарю.
Регулярное выражение должно работать со следующими входами
5, +5, -5, 0,5, +0,5, -0,5, .5, +.5, -.5
и не должен соответствовать следующим входам
+
-
+.
-.
.
Вот ответ от tchrist, работает отлично.
(?:(?i)(?:[+-]?)(?:(?=[.]?[0-9])(?:[0-9]*)(?:(?:[.])(?:[0-9]{0,}))?)(?:(?:[E])(?:(?:[+-]?)(?:[0-9]+))|))