首页 > 解决方案 > ^\d+$ 如何评估所有字符必须是数字?

问题描述

我正在通过在线书籍学习 python 自动化无聊的东西。在第 7 章中,他们说表达式的^\d+$计算结果为“所有字符都必须是数字”,但我不明白这一点。在本章的前面,有人说 ^ 符号代表(如果字符串以指定的字符(集)开头,则字符串将匹配),\d在这种情况下就是这样。符号意味着它必须有一个或多个数字,然后+美元符号意味着它应该以一个或多个数字结尾。他们以以下代码为例。

请看下面:

wholeStringIsNum = re.compile(r'^\d+$')
wholeStringIsNum.search('1234567890')
<_sre.SRE_Match object; span=(0, 10), match='1234567890'>
wholeStringIsNum.search('12345xyz67890') == None
True
wholeStringIsNum.search('12 34567890') == None
True

示例中计算结果的两个表达式True实际上不应该为 False 吗?我的意思是它们都以一个或多个数字开头和结尾。

请解释,

谢谢

标签: pythonregex

解决方案


推荐阅读