python正则匹配数字_python正则表达式去掉数字中的逗号(python正则匹配逗号)

分析

数字中经常是3个数字一组,之后跟一个逗号,因此规律为:***,***,***

正则式

代码如下:

[a-z]+,[a-z]?

代码如下:

import re

sen = "abc,123,456,789,mnp"

p = re.compile("\d+,\d+?")

for com in p.finditer(sen):

mm = com.group()

print "hi:", mm

print "sen_before:", sen

sen = sen.replace(mm, mm.replace(",", ""))

print "sen_back:", sen, '\n'

技巧

使用函数finditer(string[, pos[, endpos]]) | re.finditer(pattern, string[, flags]):

搜索string,返回一个顺序访问每一个匹配结果(Match对象)的迭代器。

代码如下:

sen = "abc,123,456,789,mnp"

while 1:

mm = re.search("\d,\d", sen)

if mm:

mm = mm.group()

sen = sen.replace(mm, mm.replace(",", ""))

print sen

else:

break

这样的程序针对具体问题,即数字3位一组,如果数字混杂与字母间,干掉数字间的逗号,即把“abc,123,4,789,mnp”转化为“abc,1234789,mnp”

更具体的是找正则式“数字,数字”找到后用去掉逗号的替换

代码如下:

sen = "abc,123,4,789,mnp"

while 1:

mm = re.search("\d,\d", sen)

if mm:

mm = mm.group()

sen = sen.replace(mm, mm.replace(",", ""))

print sen

else:

break

print sen

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值