Fix case_insensitive_matching_strategy-with special characters #45
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi guys,
There is a bug in case_insensitive_matching_strategy.
It use
text = re.sub(anonymized, original, text, flags=re.IGNORECASE)to replace
anonymizedwithoriginalintext.For phone numbers such as "+1-235-234-8740x164" starting with "+"
text = re.sub(pattern='+1-235-234-8740x164', repl='XXX', string='XXX', flags=re.IGNORECASE)The first parameter
patternexpect a string or a regular expressions string, if the string starts with "+", it will be recognized as a regular expressions and lead to an error.In regular expressions "+" causes the resulting RE to match 1 or more repetitions of the preceding RE, but there is no characters before "+" in phone number.
-> re.error: nothing to repeat at position 0
How to reproduce:
How to fix: