Emmanuel Ruellan wrote:
Hi tutors!

While trying to write a regular expression that would split a string
the way I want, I noticed a behaviour I didn't expect.

re.findall('.?', 'some text')
['s', 'o', 'm', 'e', ' ', 't', 'e', 'x', 't', '']

Where does the last string, the empty one, come from?
I find this behaviour rather annoying: I'm getting one group too many.
The ? means 0 or 1 occurrence. I think re is matching the null string at the end.

Drop the ? and you'll get what you want.

Of course you can get the same thing using list('some text') at lower cost.

--
Bob Gailer
Chapel Hill NC 919-636-4239

_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to