Python重新替换单词重复

时间:2017-11-30 18:11:10

标签: python regex

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

我想将[any number]替换为foo。但输出很奇怪。

打印web scraping foofoofoo

为什么会这样?

由于

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

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

以下是修复正则表达式的方法:

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

请注意,这只接受一位数字。如果您想接受多位数字,请将\d替换为\d+