如何创建匹配3或3位数字的正则表达式?

Rad*_*adz 3 regex

我想删除任何3位或3位以下的数字.有人可以帮我一个这样做的正则表达式吗?

目前,我的代码删除了它找到的所有数字.

     # Cleans Numbers
     def cleanNumbers(stringToClean):
       stringToClean = re.sub(r'[0-9]*', r'', stringToClean)

       print 'String after cleaning : %s' %stringToClean

       return stringToClean
Run Code Online (Sandbox Code Playgroud)

数字将被空间包围.我传入函数的示例字符串:

一段时间后Win8客户端上的连接断开.[持久性] 123 1 22 333 4444 554665 645fdgf45 ds3434 457870978934787843 345342kl

我将上述函数调用如下:

# Main function, calls other functions          
def main():

   # Parsing the input query
   searchQuery = open('input.txt', 'r').read()
   print 'Input query : %s' %searchQuery

   # Cleaning the input query
   string = CleanUpText.cleanNumbers(searchQuery)
Run Code Online (Sandbox Code Playgroud)

ogz*_*gzd 7

\b[0-9]{1,3}\b 查找最多包含三位数的数字块.