It does exactly what you ask: if you press the Find button, you will see it highlights the digit(s), period, and space. That is what gets replaced with just the single tab in your Replace field.
There are two straightforward solutions. You already bracketed the not-to-be-removed part of the expression, so you can “recall” that in the Replace field using “$1”:
$1
A slightly better way is not to highlight the digit at all and only change the actual space to a tab. Search for this:
(?<=\d\.)
and replace with just a single tab. This looks for a space which *must be preceded* by a single digit and a period (so these are *not* included in the found expression). Then only the space gets changed. This is ‘better’ in the sense that it’s best to replace only what needs to be changed; in this case, the space itself.
A note: is not really just a space, it’s all kinds of spaces. That sounds ideal, except that this also considers both the hard return and the soft line break as “space”. So in this case, you might be changing hard returns to tabs as well.
Then again, maybe that’s exactly what you want :)
If not, you can build a list of space types you *do* want to change. Use this: [ ~S] instead of the single code . This is “tab, space, unbreakable space”; you can add all other space codes you think you may need.