Регулярное выражение, чтобы соответствовать любому числу (реальное, рациональное вместе со знаками)

Я написал регулярное выражение для соответствия любому числу:

Положительный и отрицательныйДесятичныйДействительные числа

Следующее регулярное выражение хорошо, но есть один недостаток

([\+\-]{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]+))|))

Ответы на вопрос(3)

Ваш ответ на вопрос