import re

pattern = r"(?<!\S)\d+\.\s((?:\d+\.\s)*[^\s.,:!?]+)"
strings = [
    "1. text",
    "2. wordX wordY.",
    "3. 4. wordZ."
]

for s in strings:
    for m in re.finditer(pattern, s):
        print(m.group(1).split(". "))