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

Python 正则表达式检查字符串是否表示5位或6位数字,python,python-3.x,regex,Python,Python 3.x,Regex,我需要检查给定的字符串是否代表5或6位数字,然后打印“是”,否则打印“否”。数字不应包含前导零,例如: 012345-----/否 0123456---//否 12345-----/是 我在用蟒蛇3。现在我知道我的正则表达式应该是这样的: re.search('\d{5,6}') 但它只适用于开头不带0的数字。你知道如何解决这个问题吗?试试这个:^[1-9]\d{4,5}$ 说明: ^从字符串开头开始 [1-9]第一个字符必须是介于1和9之间的数字 \d{4,5}再匹配4或5个必须为数字的字

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

012345-----/否

0123456---//否

12345-----/是

我在用蟒蛇3。现在我知道我的正则表达式应该是这样的:

re.search('\d{5,6}')

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

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

说明:

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

如果第一个数字已经非零,那么
\b[1-9]\d{4,5}\b
怎么样?@jdaz可能
4,5
如果第一个数字已经非零?@tadman是的,更新了,非常感谢