正则表达式检查字符串是否代表 5 位或 6 位数字

adn*_*n98 -1 python regex python-3.x

我需要检查给定的字符串是否代表 5 位或 6 位数字,然后打印“是”,否则打印“否”。该数字不应包含前导零,例如:

012345 ----- // 没有

0123456 ---- // 没有

12345 ----- //是的

我正在使用 Python3。现在我知道我的正则表达式应该是这样的:

re.search('\d{5,6}')
Run Code Online (Sandbox Code Playgroud)

但它只适用于开头没有 0 的数字。你知道如何解决这个问题吗?

PAp*_*tol 6

尝试这个: ^[1-9]\d{4,5}$

解释:

  • ^ 从字符串的开头开始
  • [1-9] 第一个字符必须是 1 到 9 之间的数字
  • \d{4,5} 匹配额外的 4 或 5 个必须是数字的字符
  • $ 直到字符串结束