Python重新替换重复字

2024-04-26 11:33:13 发布

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

re.sub(r'[\[\d\]]', 'foo', 'web scraping [2]')

我想用foo替换[any number]。但结果却很奇怪

它打印web scraping foofoofoo

为什么会这样

谢谢


Tags: rewebnumberfooanyscrapingfoofoofoo
2条回答

你有一对额外的方括号。他们正在创建一个你不需要的角色类

下面是如何修复正则表达式:

>>> re.sub(r'\[\d\]', 'foo', 'web scraping [2]')
'web scraping foo'

请注意,这只接受单个数字。如果要接受多位数字,请将\d替换为\d+

如果要替换方括号中的所有数字,可以使用这种方法

>>> re.sub(r'\[\d+\]', 'foo', 'web scraping [2] [34] [567]')
'web scraping foo foo foo'

相关问题 更多 >