Мне нужно захватить либо
\d+\.\d+
или
\d+
но ничего больше.
Например, , "0.02", "1" и "0.50" должны совпадать положительно. Я заметил, что я не могу просто использовать что-то вроде
[\d+\.\d+|\d+]
(\d+\.\d+|\d+)
должен сделать трюк.
Вы можете сделать либо:
(\d+|\d+\.\d+)
(\d+(\.\d+)?)
но это создает вторую группу захвата. Более сложная версия:
(\d+(?:\.\d+)?)
Это называется группа без захвата .
Кстати, Информация о регулярных выражениях - превосходный сайт для учебников и информации по регулярным выражениям.
Или \d+(\.\d+)?, если вам легче читать :)
\d+(\.\d+)?