Odd behaviour of regexp module
Martin
clamhan at hotmail.com
Wed Jul 13 17:39:32 EDT 2005
Hi David,
b.group() is equivalent to b.group(0), the entire RE
match. (^(.*?)\.) will give you 'dfsf.' for that input string.
What you want is b.group(1), the subgroup you're looking for inside
the main RE. (.*?) which gives you 'dfsf', which is what you're
looking for.
Cheers,
Martin
On 13 Jul 2005 14:05:37 -0700, "David Veerasingam"
<vdavidster at gmail.com> wrote:
>Hello
>
>It seems the grouping feature isn't behaving correctly.
>
>In [1]: a = 'dfsf.oct.ocfe'
>
>In [2]: b = re.match(r'^(.*?)\.', a); b.group()
>'dfsf.'
>
>The expected result is 'dfsf'. Why did the regexp grab that period at
>the end?
>
>David
More information about the Python-list
mailing list