[Tutor] Regular expression oddity
bob gailer
bgailer at gmail.com
Sun Nov 23 01:05:50 CET 2008
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
More information about the Tutor
mailing list