python编程快速上手第7章习题20


20.如何写一个正则表达式,匹配每 3 位就有一个逗号的数字?它必须匹配以
下数字:
'42'
'1,234'
'6,368,745'
但不会匹配:
'12,34,567' (逗号之间只有两位数字)
'1234' (缺少逗号)

正确match写法 :

re.compile(r'^\d{1,3}(,\d{3})*$'

正确findall写法:

re.compile(r"^(\d{1,3}(,\d{3})*)$")

综上,上机实际验证写法应为:

import re
num=re.compile(r"^(\d{1,3}(,\d{3})*)$") 
print(num.findall('1,523,678'))

附录答案应该有误re.compile(r'^\d{1,3}(,{3})*$'),(,{3})逗号后少一\d

优质内容筛选与推荐>>
1、Oracle主键(Primary Key)使用详细的说明
2、调查:现在大家的开发环境是vs2003+1.1/vs2005+2.0/vs2008+2.0/vs2008+3.5中的哪一项?
3、来几个抽奖的程序
4、pom.xml
5、解决问题的思路


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn