Необходимо из строки A.B.CD.1.EF.2.G.3.HI.JKL получить всё до HI.JKL, то есть: A.B.CD.1.EF.2.G.3.. При том, что цифры и буквы могут быть разными, цифры могут быть как 1, 2, так и 120, 130 и т. д.
Пока что пришел только к ^(.*?)*[0-9]\., что выводит только до первой цифры с точкой.
При этом в python re.findall(r,s) данное выражение почему-то не выводит ничего, хотя на любом онлайн regex билдере оно работает.
Можно было бы повторить это выражение три раза, но выглядеть будет глупо и не уверен что правильно.
DevMan Спасибо!
А в случае если строка будет в таком виде A.B.CD.1.EF.2.G.3.H без последнего "блока" с точкой?
Приведенное вами выражение выведет в таком случае A.B.CD.1.EF. до второй цифры.
Замена на (.*)\w{1}\. решает проблему, но тогда в случае с дополнительным .JKL в строке захватит лишнего.
Может есть какой-то универсальный вариант?