python 中re.findall ()的问题 10

第一个问题,想知道问此处的coords[0]能不能用成coords.group(1)。这种情况下用group不是更好吗?第二个问题,这个print出来的结果是如图下所示但... 第一个问题, 想知道问此处的 coords[0]能不能用成coords.group(1)。这种情况下用group不是更好吗?
第二个问题 , 这个print出来的结果是如图下所示

但是我想要的结果是<pathd='M10 10, C20 20, 40 100'>
也就是要在第一个逗号后加一个C。并且去掉最后一个逗号
怎样将上面的代码改一下,而得出我想要的结果呢???

谢谢了!!!!!!
展开
 我来答
heycn
2013-12-07 · TA获得超过100个赞
知道答主
回答量:78
采纳率:0%
帮助的人:59万
展开全部

第一个问题,答案是不能用成coords.group(1),re.findall返回的是一个列表,读取列表需要用coords[0]这种方式

第二个问题,你用正则找出来的结果再用正则过滤一遍:

import re
print(re.sub(r'(.*), (.*), (.*), (.*)', r'\1, c\2, \3\4', str))
更多追问追答
追问
第一个问题,那么coords是列表中的列表吗?
第二个问题,因为我这个给出的例子只是个测试,其实后面还有很多数字,所以用r*\1,c\2,\3\4这样好像有点难,如果这样的话,后面\3\4。。。。。。可能要写到上千了,还有其他的什么办法嘛?
追答
1.coords就是个列表
2.就算你后面有成千上万数字都是匹配到第四分组的,除非你还有其他的需求,正则本来就是根据需求匹配的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式