正则表达式中的意外结果

2024-04-29 16:53:49 发布

您现在位置:Python中文网/ 问答频道 /正文

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

给出结果(新名称)::

'_____shiv'

而不是::

'123__shiv'

…提前谢谢


Tags: namere名称newregexshivpatterncompile
1条回答
网友
1楼 · 发布于 2024-04-29 16:53:49

您的正则表达式正在创建一个从whitespace(ASCII-Code-32)opening bracket - [(ASCII-Code-91)的范围,因为它介于-之间。这个范围包括数字0 to 9(ASCII码-48到57)。你知道吗

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

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

开始时移动了-。你知道吗

相关问题 更多 >