Это будет соответствовать любому действительному числу, которое распознает компилятор Java. Для этого он также обрабатывает такие вещи, как числа со знаком и экспоненты. Это в режиме Pattern.COMMENTS
, потому что я думаю, что все остальное варварское.
(?xi) # the /i is for the exponent
(?:[+-]?) # the sign is optional
(?:(?=[.]?[0123456789])
(?:[0123456789]*)
(?:(?:[.])
(?:[0123456789]{0,})
) ?
)
# this is where the exponent starts, if you want it
(?:(?:[E])
(?:(?:[+-]?)
(?:[0123456789]+)
)
|
)