Более простое решение для регулярных выражений:
import re
pattern = re.compile(r'\[\d+\]$')
s = '10.9.8[35]'
r = pattern.sub('', s)
print(r) # 10.9.8
Шаблон соответствует квадратным скобкам в конце строки с одним или несколькими числами внутри. Затем подпрограмма заменяет квадратные скобки и число пустой строкой.
Если вы хотите использовать число в квадратных скобках, просто измените выражение sub
, например:
import re
pattern = re.compile(r'\[(\d+)\]$')
s = '10.9.8[35]'
r = pattern.sub(r'.\1', s)
print(r) # 10.9.8.35
В качестве альтернативы, как сказано в другом ответе, вы можете просто найти его и соединить, чтобы избавиться от него.