首先,找规律:
(2 1) (4 3) (6 5) (8 7) ..
发现是每个偶数i与i-1互换位置,或者说:奇数加1,偶数减1。如此一来可以用列表表达式生成(假设长度为n):
[i-1 if i % 2 == 0 else i+1 for i in range(1, n+1)]
import redef findit(matchstr,searchstr):
Li=[] #找到的匹配字串置于Li列表中
rs=re.search(matchstr,searchstr)
while rs!=None:
Li=Li+list(rs.groups())
searchstr=searchstr[rs.span()[1]:]
rs=re.search(matchstr,searchstr)
return Li
def main():
matchstr=r'(\d{16})' #正则表达式 匹配16个数字
#以下是要查找字串的例子
searchstr='2018060512345678hekoedfk2018070612345678fifjr1234567890123456dfsdf'
#在字串searchstr中找到的匹配数字都在rs这个list中
rs=findit(matchstr,searchstr)
for x in rs:
print(x)
#mystri='/'.join(rs) #生成以/分隔的数字串
#print(mystri) #输出以/分隔的数字串
main()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)