-?\b\d+\b
Это разбито на:
-?(необязательный знак минуса)
\ b граница слова
\ d + 1 или более цифр
[EDIT 2] - кивок Алану Муру
Неудобно на Javaне имеет дословных строк, поэтому вам придется экранировать вышеприведенное регулярное выражение как:
String regex = "-?\\b\\d+\\b"
Я бы также порекомендовал сайт, подобный http://regexlib.com/RETester.aspx, или программу, подобную Expresso. чтобы помочь вам проверить и спроектировать ваши регулярные выражения
[EDIT] - после некоторых хороших комментариев
Если вы еще не сделали что-то вроде *?(-?\d+).*
(из @Voo), потому что я не былВы не уверены, хотите ли вы соответствовать всей строке или только цифрам.Обе версии должны сообщать вам, есть ли цифры в строке, и если вы хотите фактические цифры, используйте первое регулярное выражение и ищите группу [0].Есть умные способы назвать группы или несколько снимков, но это будет сложный ответ на прямой вопрос ...