-
-
Notifications
You must be signed in to change notification settings - Fork 31.8k
re.sub() doesn't substitute for all words with the replacement in the string when re.IGNORECASE is used and counter not specified #99918
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Labels
Comments
Can someone please help and guide me to contribute to solving the issue? |
Duplicate of #85830 I recommend using keyword args: I'm leaving open in case anyone is interested in deprecating passing |
Okay, closing and will discuss on #56166 |
okay that is good |
hauntsaninja
added a commit
to hauntsaninja/pip
that referenced
this issue
Aug 8, 2023
This was referenced Aug 8, 2023
hauntsaninja
added a commit
to hauntsaninja/click
that referenced
this issue
Aug 8, 2023
This is a common mistake, see python/cpython#99918 (comment)
This was referenced Aug 8, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
# Bug report
re.sub() doesn't substitute for all words with the replacement in the string when re.IGNORECASE is used.
# Your environment
This bug was experienced on IDLE and VS code
#Problem
Whenever re.sub() is used with the flag re.IGNORECASE or re.I and, the counter is not specified all of the occurrences of the word were not replaced instead only the first 2 occurrences were replaced.
For example if the replacement is a string "cat" which should replace the word dog,
The code :
import re
print(re.sub("dog","cat","dog and cat and dog and dog and dog",re.I))
or
import re
print(re.sub("dog","cat","dog and cat and dog and dog and dog",re.IGNORECASE))
the expected output was :
cat and cat and cat and cat and cat
the actual output is:
cat and cat and cat and dog and dog
below is the image of the editor depicting the problem
The text was updated successfully, but these errors were encountered: