pattern = r'[ -\\[\\]]'
regex = re.compile(pattern)
name = '123[ shiv'
new_name = regex.sub('_',name)
给出结果(new_name)::
'_____shiv'
代替::
'123__shiv'
..提前致谢
最佳答案
您的正则表达式正在创建从 whitespace
(ASCII Code - 32) 到 opening bracket - [
(ASCII Code - 91) 因为 -
介于两者之间。该范围包括数字 0 到 9
(ASCII 代码 - 48 到 57)。
您需要将正则表达式更改为:-
pattern = '[- \\[\\]]'
将 -
移到开头。
关于python - 正则表达式中的意外结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14570045/