I am trying to separate a string in CamelCase into a single list
I managed to separate the words with regular expressions
But I am clueless on how create a single list of all the matches
I tried to concatenate the lists, append something like that but I don’t think it would work in my case
n="SafaNeelHelloAByeSafaJasleen"
patt=re.compile(r'([A-Z][a-z]*|[a-z$])')
matches=patt.finditer(n)
for match in matches:
    a=match.group()
    list=a.split()
    print(list)
output:
['Safa'] ['Neel'] ['Hello'] ['A'] ['Bye'] ['Safa'] ['Jasleen']
Desired output:
['Safa','Neel','Hello','A','Bye','Safa','Jasleen']
Advertisement
Answer
You’re looking for re.findall(), not re.finditer():
>>> string = "SafaNeelHelloAByeSafaJasleen" >>> pattern = re.compile(r"([A-Z][a-z]*|[a-z$])") >>> pattern.findall(string) ['Safa', 'Neel', 'Hello', 'A', 'Bye', 'Safa', 'Jasleen']
