Я хочу сопоставить любое число с регулярным выражением. Я написал это выражение (добавлены пробелы для удобства чтения):
( ([0-9]+(\.[0-9]*)?) | (\.[0-9]+) )( (e|E)(\+|\-)[0-9](\.[0-9])? )?
Это должно соответствовать любому числу в одной из следующих форм:
12345
12.345
.12345
12345.
12e-345
или 12E-345
12e+345
или 12E+345
Это соответствует первым четырем обозначениям, но последние четыре (те, которые с e- и e +) нет. Что я сделал не так? Заранее спасибо.