On 13.06.2013 17:09, Albert-Jan Roskam wrote:
I have a string of the form "required optional3 optional2 optional1
optional3" ('optional' may be any kind of string, so it's not simply
'optional\d+'.
I would like to use a regex so I can distinguish groups. Desired
outcome: ('required', 'optional3', 'optional2', 'optional1',
'optional3'). Below is  a fragment of the many things I have tried.
[SNIP]
How can I make this work?

If you really want to use a regex:
>>> import re
>>> s = "required optional3 optional2 optional1 optional3"
>>> s2 = "required optional1 optional2 optional3"
>>> pattern = "required|optional1|optional2|optional3"
>>> re.findall(pattern, s)
['required', 'optional3', 'optional2', 'optional1', 'optional3']
>>> re.findall(pattern, s2)
['required', 'optional1', 'optional2', 'optional3']

But why not simply:
>>> s.split()
['required', 'optional3', 'optional2', 'optional1', 'optional3']
>>> s2.split()
['required', 'optional1', 'optional2', 'optional3']

Bye, Andreas

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to