5
pattern = r'[ -\\[\\]]'
regex = re.compile(pattern)
name = '123[ shiv'
new_name = regex.sub('_',name)

给出结果(新名称)::

'_____shiv'

代替::

'123__shiv'

..thanx提前

4

1 回答 1

5

由于介于两者之间,您的正则表达式正在创建从whitespace (ASCII Code - 32)opening bracket - [(ASCII Code - 91)-的范围。该范围包括数字0 to 9 (ASCII 码 - 48 到 57)

您需要将您的正则表达式更改为: -

pattern = '[- \\[\\]]'

一开始就动-了。

于 2013-01-28T19:55:26.137 回答