[New-bugs-announce] [issue28486] Wrong end index and subgroup for group match

Pavel Cisar report at bugs.python.org
Thu Oct 20 05:41:15 EDT 2016


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 <report at bugs.python.org>
<http://bugs.python.org/issue28486>
_______________________________________


More information about the New-bugs-announce mailing list