I haven't tested following on SB, but with php regex matching it does work for both cases:
# .* +([0-9]+) +"(.+)" +(STEAM_[0-9]:[0-9]:[0-9]+|\[U:[0-9]:[0-9]+\]) +([0-9:]+) +([0-9]+) +([0-9]+) +([a-zA-Z]+).* +([0-9.:]+)

I haven't tested following on SB, but with php regex matching it does work for both cases:
# .* +([0-9]+) +"(.+)" +(STEAM_[0-9]:[0-9]:[0-9]+|\[U:[0-9]:[0-9]+\]) +([0-9:]+) +([0-9]+) +([0-9]+) +([a-zA-Z]+).* +([0-9.:]+)

You're right. One space too many removed in that commit. It's fixed here.
I'll update the package in the first post to include that change.

There is more than just missing space. In CS:GO there is 'rate' column before player's ip address, which is absent in TF2. That probably changed in some update and went unnoticed.
With .* right after ([a-zA-Z]+) regex will leave it be and capture ip address correctly.