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

标签 python regex

<分区>

从以下字符串中删除所有数字很容易:

>>> 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 了。我怎样才能为这个问题制作一个包罗万象的正则表达式?到目前为止,我的解决方案还不错,但不是我所需要的。

最佳答案

像这样:

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

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

关于python - 正则表达式删除任何数字/字母组合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38958048/

相关文章:

python - __add__ 的对立面?

python - 组合和排序元组列表的最快方法是什么?

python - 是否可以创建一个函数来快捷模块功能?

java - 使用 RegExp 提取括号之间的值

mysql - Ubuntu - 12.04 中的 Mysql 安装错误

javascript - 匹配没有前缀的数字

javascript - 如何将带有lookbehind的PHP正则表达式转换为Javascript?

python - 如何使用 np.random.zipf 对于给定的值范围生成随机变量?

python - Django 模板中的 Rowspan 和分组

vb.net - 使用正则表达式 VB.Net 验证电子邮件