Регулярное выражение типа \s[0-9]+\s
будет захватывать любое число с пробелами по обе стороны. Если вы хотите убедиться, что символы с обеих сторон являются пробелами (а не символами табуляции и т. Д.), Используйте вместо этого: [ ][0-9]+[ ]
Если вы хотите сопоставить числа, в которых пробелы находятся только с одной стороны, используйте квантификатор * после пробела. идентификаторы пробелов.
Как сказал lagripe , группа захвата, вероятно, будет лучшим способом сделать это. Вы можете использовать группу захвата, заключив нужную часть в круглые скобки: [ ]([0-9]+)[ ]
. Кроме того, вы можете добавить группу без захвата к пробелам: (?:[ ])[0-9]+(?:[ ])
. Он использует их для сопоставления со строкой, но игнорирует их при выводе.
Если вы хотите проверить свои строки регулярных выражений, веб-сайт regex101.com мой любимый.