正则表达式的问题,有谁会啊?
如何写一个正则表达式,匹配每三位就有一个逗号的数字?它必须匹配以下数字:'42','1,234','6,368,745'
但不会匹配:
'12,34,567'(逗号间只有两位数字)
'1234'(缺少逗号) 本帖最后由 suchocolate 于 2021-5-29 18:02 编辑
import re
smp = ['42', '1,234', '6,368,745', '12,34,567', '1234']
for s in smp:
if re.search(r'^\d{1,3}$|^\d{1,3}(,\d{3})+$, s):
print(s)
^\d{1,3}$: 匹配只有1-3位数的字符串。
^\d{1,3}(,\d{3})+$: 匹配 开头是1-3位,之后是一个或多个逗号开头的3位数的情况。
页:
[1]