Regex 正则表达式匹配数字,不考虑分隔符

Regex 正则表达式匹配数字,不考虑分隔符,regex,Regex,我需要一个正则表达式来匹配以下内容: 文本中的任何6到16个数字,即使它们不是连续的 例如: abc123sadas456应匹配123sadas456 123$3123asbaasd4应匹配123$3123asbaasd4 1234as2不应匹配(至少6个数字) 12345678 ASD应匹配12345678 谢谢你这有帮助吗?蟒蛇 import re list =["abc123sadas456","123$3123asbaasd4","1234as2", 12345678] for lin

我需要一个正则表达式来匹配以下内容:

文本中的任何6到16个数字,即使它们不是连续的

例如:

  • abc123sadas456应匹配123sadas456
  • 123$3123asbaasd4应匹配123$3123asbaasd4
  • 1234as2不应匹配(至少6个数字)
  • 12345678 ASD应匹配12345678

  • 谢谢你这有帮助吗?蟒蛇

    import re
    list =["abc123sadas456","123$3123asbaasd4","1234as2", 12345678]
    
    for line in list:
        nr = len(re.sub(r"[\D]", '', str(line)))
        if (nr >=6 and nr < 17):
            print("MATCH:", line)
        else:
            print("NO MATCH:", line)
    
    重新导入
    列表=[“abc123sadas456”,“123$3123asbaasd4”,“1234as2”,12345678]
    对于列表中的行:
    nr=len(re.sub(r“[\D]”,'',str(行)))
    如果(nr>=6且nr<17):
    打印(“匹配:”,行)
    其他:
    打印(“不匹配:”,行)
    
    我后来找到了解决方案

    \d([a-zA-Z.\_\\+\-*\.\%$]*\d){5,15}
    

    注意:此正则表达式将匹配数字,即使它们由任何字符分隔。根据需要从中间列表中添加或删除字符。

    问题似乎不包括解决问题的方法。StackOverflow希望您能这样做,因为您的尝试有助于我们更好地了解您的需求。请编辑问题以显示您已尝试过的内容,以便说明您在某个问题中遇到的具体问题。有关更多信息,请参阅并参加本教程。@WiktorStribiżew它只是一个正则表达式。这里没什么可展示的。在过去的两天里,我一直在尝试做这个。我不知道我应该表现出什么样的努力。。对Votetanks@异种生物学家来说非常奇怪。我已经用java做了同样的事情。我希望我能找到一个与之匹配的正则表达式。