首页 > 解决方案 > 正则表达式忽略字符串中的数字(python)

问题描述

我有这样的文字:

text = "hey , i am new here . number is 8,5%"

我希望我的输出是这样的:

hey, i am new here. number is 8,5%

所以我使用这个正则表达式代码:

text= re.sub(r'\s*([.,?:])\s*', r'\1 ',text) 

这段代码的输出是:

hey, i am new here. number is , 5%

我不希望我的正则表达式代码触及这些数字。

我正在使用 Python3

标签: pythonregexstringnumbers

解决方案


您可以使用(?<!\d)\s*([.,?:])\s*.
(?<!\d)意思是“如果前面没有数字”

完整的代码: text= re.sub(r'\s*([.,?:])\s*', r'\1 ',text)


推荐阅读