Skip to content

re.sub doesn't work when re.X is specify #131070

@Nnyny

Description

@Nnyny

Bug report

Bug description:

# Add a code block here, if required

import re, sys
print(sys.version)

extended = "z "
short = "z"

print("extended")
print(re.match(extended, "z", re.X))
# expected output: 'XXXX', actual output: 'z'
print(re.sub(extended, "XXXX", "z", re.X)) 

print("short")
print(re.match(short, "z", re.X))
# expected output: 'XXXX', actual output: 'XXXX'
print(re.sub(short, "XXXX", "z", re.X)) 

So I expect the output to be XXXX in the extended example from re.sub. And re.match seems to work fine.

CPython versions tested on:

3.11, 3.12

Operating systems tested on:

Windows, Linux

Metadata

Metadata

Assignees

No one assigned

    Labels

    type-bugAn unexpected behavior, bug, or error

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions