2024-09-29 01:31:00 发布
网友
我想知道是否有一种“智能”的方法(一个正则表达式)从下面的段落中提取ID:
... imgList = '9/optimized/1260089_fpx.tif,0/optimized/1260090_fpx.tif'; ...
结果应该是一个包含1260089和1260090的列表。身份证的数目可能多达10个。在
1260089
1260090
我需要这样的东西:
re.findall('imgList = (some expression)', string)
有什么想法吗?在
如果optimzed/一个_fpx部分没有得到保证,并且ID在7到10位之间 你可以做些像
optimzed/
_fpx
import re re.findall('[\d]{7,10}', imgList)
这将在字符串中找到一个7到10位的数字,因此,0-6位或10位以上的id将被排除在外。在
import re s = '9/optimized/1260089_fpx.tif,0/optimized/1260090_fpx.tif' print(re.findall(r'(\d+)_fpx.tif', s))
最好是使用一个正则表达式来查找所有的数字。我叫re.findall
>>> imgList = '9/optimized/1260089_fpx.tif,0/optimized/1260090_fpx.tif' >>> import re >>> re.findall('optimized/([0-9]*)_fpx', imgList) ['1260089', '1260090']
当然,您可以使regex更强大,但如果数据如您所示,这就足够了。在
如果
optimzed/
一个_fpx
部分没有得到保证,并且ID在7到10位之间 你可以做些像这将在字符串中找到一个7到10位的数字,因此,0-6位或10位以上的id将被排除在外。在
最好是使用一个正则表达式来查找所有的数字。我叫re.findall
当然,您可以使regex更强大,但如果数据如您所示,这就足够了。在
相关问题 更多 >
编程相关推荐