This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author Pavel Cisar
Recipients Pavel Cisar, ezio.melotti, mrabarnett
Date 2016-10-20.09:41:15
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1476956475.68.0.446290119738.issue28486@psf.upfronthosting.co.za>
In-reply-to
Content
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.
History
Date User Action Args
2016-10-20 09:41:15Pavel Cisarsetrecipients: + Pavel Cisar, ezio.melotti, mrabarnett
2016-10-20 09:41:15Pavel Cisarsetmessageid: <1476956475.68.0.446290119738.issue28486@psf.upfronthosting.co.za>
2016-10-20 09:41:15Pavel Cisarlinkissue28486 messages
2016-10-20 09:41:15Pavel Cisarcreate