Python正则表达式删除数字和带标点符号的数字

Mor*_*eus 5 python regex

我有以下字符串

 line = "1234567 7852853427.111 https://en.wikipedia.org/wiki/Dictionary_(disambiguation)"
Run Code Online (Sandbox Code Playgroud)

我想使用正则表达式删除数字 1234567 7852853427.111

我有这个重新

nline = re.sub("^\d+\s|\s\d+\s|\s\d\w\d|\s\d+$", " ", line)
Run Code Online (Sandbox Code Playgroud)

但它并没有做我希望它做的事情。

有人能指出我正确的方向吗?

anu*_*ava 6

您可以使用:

>>> line = "1234567 7852853427.111 https://en.wikipedia.org/wiki/Dictionary_(disambiguation)" 
>>> print re.sub(r'\b\d+(?:\.\d+)?\s+', '', line)

https://en.wikipedia.org/wiki/Dictionary_(disambiguation)
Run Code Online (Sandbox Code Playgroud)

正则表达式\b\d+(?:\.\d+)?\s+将匹配一个整数或小数,后跟 1 个或多个空格。\b用于字边界。