?: Просто искать шаблон без захвата.Ваш случай кажется другим.Кроме того, () предназначены для создания группы, опять же, вам не нужны эти функциональные возможности, поскольку ваш вариант использования довольно прост.тогда вы можете перейти с ^[1-9]\d*$
.Если числа могут находиться между предложениями, используйте \b[1-9]\d*\b
для поиска границ слов.
Основная идея такова: вы хотите сопоставить любое неотрицательное число, которое не равно нулю.Таким образом, номер не должен начинаться с -
или 0
.Итак, начните с 1-9 (\b[1-9]
часть регулярного выражения), за которыми следуют любые цифры (\d*\b
часть регулярного выражения).
Очевидно, что это оставляет много форм чисел: плавает как десятичные дроби (например, 23.456), числа в экспоненциальной форме (например, 1.23e4) и т. д.