1. 程式人生 > >python程式設計快速上手第7章習題20

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