[issue41080] re.sub treats * incorrectly?

2020-06-22 Thread Ryan Westlund
Ryan Westlund added the comment: Sorry, I forgot the pydoc docs don't have as much information as the online docs. On Mon, Jun 22, 2020 at 1:54 PM Ezio Melotti wrote: > > Ezio Melotti added the comment: > > This behavior was changed in 3.7: "Empty matches for the pattern are > replaced

[issue41080] re.sub treats * incorrectly?

2020-06-22 Thread Ezio Melotti
Ezio Melotti added the comment: This behavior was changed in 3.7: "Empty matches for the pattern are replaced only when not adjacent to a previous empty match, so sub('x*', '-', 'abxd') returns '-a-b--d-'." [0] See also bpo-32308 and bpo-25054. [0]:

[issue41080] re.sub treats * incorrectly?

2020-06-22 Thread Ryan Westlund
New submission from Ryan Westlund : ``` >>> re.sub('a*', '-', 'a') '--' >>> re.sub('a*', '-', 'aa') '--' >>> re.sub('a*', '-', 'aaa') '--' ``` Shouldn't it be returning one dash, not two, since the greedy quantifier will match all the a's? I understand why substituting on 'b' returns '-a-',