Example of "Negative lookahead and lookbehind"

Qustion: Display a large number (like 8927369280) in printed text, it’s often helpful to insert commas between each grouping of three numbers. The rule here is that we want to insert a comma at locations having digits on the right in exact sets of three, and at least one digit on the left. Answer: We can fulfill the second requirement using lookbehind. The simple subexpression (?<=/d) will match locations that have at least one digit to their left. For the second requirement we need to match sets of three numbers up to the end of the string. The simple expression (/d/d/d)+$ accomplishes this task, and if we wrap it in a lookahead construct it will match at locations that are an even set of triple digits from the end of the string. So the completed regular expression
#!/usr/bin/env python
import re

num =  8927369280
print re.sub(r'(?<=/d)(?=(/d/d/d)+$)',',', str(num))
Notes: Take care of the regex part: r'(?<=/d)(?=(/d/d/d)+$)'
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值