正则表达式删除任何数字/字母组合?

时间:2016-08-15 15:23:42

标签: python regex

可以轻松删除以下string中的所有数字:

>>> string = "asprx12303 hello my 321 name is Tom 2323dsad843, 657a b879 843aa943 aa... 2ci 2ci"
>>> modified = re.sub(r'\d+', '', string)
>>> print(modified)
'asprx hello my  name is Tom dsad, a b aa aa... ci ci'

但我想删除每个独立数字(例如321)以及字符串中字母和数字的每个组合(例如843aa943asprx12303)。

这是我到目前为止所做的:

>>> modified2 = re.sub(r'\w+\d+', '', string)
>>> print(modified2)
' hello my  name is Tom , a   aa... 2ci 2ci'

所以,这两种模式运作良好,但最后我留下了2ci。如何为此问题制作一个包罗万象的正则表达式?到目前为止我的解决方案还可以,但不是我需要的。

1 个答案:

答案 0 :(得分:7)

这样的事情:

r'\w*[0-9]\w*'

这应该匹配包含至少一个数字的任何连续的单词字符。