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

結果(new_name)を与える::

'_____shiv'

それ以外の::

'123__shiv'

..事前に感謝します

4

1 に答える 1

5

正規表現は、whitespace (ASCIIコード-32)からopening bracket - [(ASCIIコード-91 )までの範囲を作成しています。これは、その間にあるためです-。そして、その範囲には数字0 to 9 (ASCIIコード-48から57)が含まれます。

正規表現を次のように変更する必要があります:-

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

最初に移動-しました。

于 2013-01-28T19:55:26.137 に答える