New submission from Pavel Cisar:

Hi,
python re returns wrong end index of searched group and also subgroup itself.

Example:

In: price_string = u"1 307 000,00 Kč"
In: match = re.search(r"([,\.]00)\s?.*$", price_string)
In: print price_string, "|", match.groups(), "|", match.group(0), "|", 
match.start(0), "|", match.end(0), "|", match.span()
Out: 1 307 000,00 Kč | (u',00',) | ,00 Kč | 9 | 15 | (9, 15)

As I understand documentation start and end functions should return start and 
endindex of subgroup matched in search. I .groups() output I see subgroup is 
correct u',00' but end function returns end index for subgroup ',00 Kč'. Also 
calling specific subgroup .group(0) returns incorrect one ',00 Kč'. It seems 
match return end index of whole pattern, not only subgroup.

----------
components: Regular Expressions
messages: 279024
nosy: Pavel Cisar, ezio.melotti, mrabarnett
priority: normal
severity: normal
status: open
title: Wrong end index and subgroup for group match
type: behavior
versions: Python 2.7

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue28486>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to