需求背景:
公司模拟小组提取的批量数据让数字这边帮忙用创建环境进行验证
过程如下:
常见方式是利用文件读写操作
#!/usr/bin/env python3
import os
import sys
import argparse
import re
import io
import codes
#---------------------------------------------------------
#extract active data //
#---------------------------------------------------------
#open file
fin_pol = open(“11111.mt”,“r”,)
fout_pol = open(“pol_dat.dat”,“w”)
sout[1] = 7.52826e+00
#opreate file
for line in fin_pol:
data_pol = re.search(r’vpol2_(\d+)\s+=\s+([\d.]+)e([±])(\d+)',line)
if data_pol:
print(data_pol.group(0))
print(data_pol.group(1))
print(data_pol.group(2))
print(data_pol.group(3))
print(data_pol.group(4))
if data_pol.group(3) == '+':
t1 = float(data_pol.group(2)) * (10 ** int(data_pol.group(4)))
else:
t1 = float(data_pol.group(2)) * (10 ** ((-1) * int(data_pol.group(4)) ) )
if t1>7.6:
fout_pol_tmp = "1\n"
else:
fout_pol_tmp = "0\n"
print(t1)
print(fout_pol_tmp)
fout_pol.write(fout_pol_tmp)
fout_pol.close()
print(“111111”)
#-----------------------------------------------------------------------------
#open file
fin_pixel = open(“11111.mt”,“r”,)
fout_pixel = open(“pixel_dat.dat”,“w”)
#vdpp_0 = 3.29956e+00
#opreate file
for line in fin_pixel:
data_pixel = re.search(r’vd[np]p_(\d+)\s+=\s+([\d.]+)e([±])(\d+)',line)
if data_pixel:
print(data_pixel.group(0))
print(data_pixel.group(1))
print(data_pixel.group(2))
print(data_pixel.group(3))
print(data_pixel.group(4))
if data_pixel.group(3) == '+':
t2 = float(data_pixel.group(2)) * (10 ** int(data_pixel.group(4)))
else:
t2 = float(data_pixel.group(2)) * (10 ** ((-1) * int(data_pixel.group(4)) ) )
if t2>1.6:
fout_pixel_tmp = "1\n"
else:
fout_pixel_tmp = "0\n"
print(t2)
print(fout_pixel_tmp)
fout_pixel.write(fout_pixel_tmp)
fout_pol.close()
print(“22222”)
//============================================================================
以下是一些数据操作,可以使用列表直接操作,不需要一直文件操作,因为文件操作对格式还要调整
#!/usr/bin/env python3
import os
import sys
import argparse
import re
import io
import codes
#---------------------------------------------------------
#extract active data //
#---------------------------------------------------------
#open file
fin_pol = open(“tr_rand_1_v_meas_pre.mt0”,“r”,)
#fout_pol = open(“lvds_in”,“w”)
k=0
list_lvds_0 = []
list_lvds_1 = []
list_lvds_2 = []
list_lvds_d_0 = []
list_lvds_d_1 = []
list_lvds_d_2 = []
list_lvds_d_3 = []
list_lvds_d_4 = []
list_lvds_d_5 = []
list_lvds_nd3_byte = []
list_lvds_nd0_byte = []
list_lvds_nd4_byte = []
list_lvds_nd1_byte = []
list_lvds_nd5_byte = []
list_lvds_nd2_byte = []
list_lvds_d0_byte = []
list_lvds_d1_byte = []
list_lvds_d2_byte = []
list_lvds_d3_byte = []
list_lvds_d4_byte = []
list_lvds_d5_byte = []
‘’’
lvds_in : vlvp_1_269 = 1.2000
lvds_out: vd2_2_29 = 1.057e-03
‘’’
for line in fin_pol:
lvds_in = re.search(r’vlvp_(\d+)_(\d+)\s+=\s+([\d.]+)‘,line)
lvds_out_type0 = re.search(r’vd(\d+)_(\d+)_(\d+)\s+=\s+([\d.-]+)e([±])(\d+)*’, line)
lvds_out_type1 = re.search(r’vd(\d+)_(\d+)_(\d+)\s+=\s+([\d.-]+)', line)
#-----------------------------------------------------------------------------------------
#check lvds_in
if lvds_in:
print(lvds_in.group(0))
print(lvds_in.group(1))
print(lvds_in.group(2))
print(lvds_in.group(3))
vol_in = float(lvds_in.group(3))
lvds_number = int(lvds_in.group(1))
if vol_in>1.1:
lvds_in_tmp = 1
else:
lvds_in_tmp = 0
if lvds_number == 0:
list_lvds_0.append(lvds_in_tmp)
elif lvds_number == 1:
list_lvds_1.append(lvds_in_tmp)
elif lvds_number == 2:
list_lvds_2.append(lvds_in_tmp)
#---------------------------------------------------------------
#check lvds_out
if lvds_out_type0:
print(lvds_out_type0.group(0))
print(lvds_out_type0.group(1))
print(lvds_out_type0.group(2))
print(lvds_out_type0.group(3))
print(lvds_out_type0.group(4))
print(lvds_out_type0.group(5))
print(lvds_out_type0.group(6))
if lvds_out_type0.group(5) == '+':
vol_out = float(lvds_out_type0.group(4)) * (10 ** int(lvds_out_type0.group(6)))
elif lvds_out_type0.group(5) == '-':
vol_out = float(lvds_out_type0.group(4)) * (10 ** ((-1) * int(lvds_out_type0.group(6))))
if vol_out > 1.6:
lvds_out_tmp = 1
else:
lvds_out_tmp = 0
lvds_d_number_type0 = int(lvds_out_type0.group(1))
if lvds_d_number_type0 == 0 :
list_lvds_d_0.append(lvds_out_tmp)
elif lvds_d_number_type0 == 1 :
list_lvds_d_1.append(lvds_out_tmp)
elif lvds_d_number_type0 == 2 :
list_lvds_d_2.append(lvds_out_tmp)
elif lvds_d_number_type0 == 3 :
list_lvds_d_3.append(lvds_out_tmp)
elif lvds_d_number_type0 == 4 :
list_lvds_d_4.append(lvds_out_tmp)
elif lvds_d_number_type0 == 5 :
list_lvds_d_5.append(lvds_out_tmp)
print(vol_out)
print(list_lvds_d_0)
print(list_lvds_d_1)
print(list_lvds_d_2)
print(list_lvds_d_3)
print(list_lvds_d_4)
print(list_lvds_d_5)
elif lvds_out_type1:
print(lvds_out_type1.group(0))
print(lvds_out_type1.group(1))
print(lvds_out_type1.group(2))
print(lvds_out_type1.group(3))
print(lvds_out_type1.group(4))
if lvds_out_type1:
vol_out = float(lvds_out_type1.group(4))
if vol_out>1.6:
lvds_out_tmp = 1
else:
lvds_out_tmp = 0
lvds_d_number_type1 = int(lvds_out_type1.group(1))
if lvds_d_number_type1 == 0:
list_lvds_d_0.append(lvds_out_tmp)
elif lvds_d_number_type1 == 1:
list_lvds_d_1.append(lvds_out_tmp)
elif lvds_d_number_type1 == 2:
list_lvds_d_2.append(lvds_out_tmp)
elif lvds_d_number_type1 == 3:
list_lvds_d_3.append(lvds_out_tmp)
elif lvds_d_number_type1 == 4:
list_lvds_d_4.append(lvds_out_tmp)
elif lvds_d_number_type1 == 5:
list_lvds_d_5.append(lvds_out_tmp)
for cnt in range(36):
list_lvds_nd3_byte.append(list_lvds_0[16cnt+0:16cnt+8])
list_lvds_nd0_byte.append(list_lvds_0[16cnt+8:16cnt+16])
list_lvds_nd4_byte.append(list_lvds_1[16cnt+0:16cnt+8])
list_lvds_nd1_byte.append(list_lvds_1[16cnt+8:16cnt+16])
list_lvds_nd5_byte.append(list_lvds_2[16cnt+0:16cnt+8])
list_lvds_nd2_byte.append(list_lvds_2[16cnt+8:16cnt+16])
for i in range(36):
for k in range(8):
list_lvds_d0_byte.append(list_lvds_d_0[i + 36 * k])
list_lvds_d1_byte.append(list_lvds_d_1[i + 36 * k])
list_lvds_d2_byte.append(list_lvds_d_2[i + 36 * k])
list_lvds_d3_byte.append(list_lvds_d_3[i + 36 * k])
list_lvds_d4_byte.append(list_lvds_d_4[i + 36 * k])
list_lvds_d5_byte.append(list_lvds_d_5[i + 36 * k])
‘’’
list_lvds_d0_byte.append(list_lvds_d_0[i + 36 * (7-k)])
list_lvds_d1_byte.append(list_lvds_d_1[i + 36 * (7-k)])
list_lvds_d2_byte.append(list_lvds_d_2[i + 36 * (7-k)])
list_lvds_d3_byte.append(list_lvds_d_3[i + 36 * (7-k)])
list_lvds_d4_byte.append(list_lvds_d_4[i + 36 * (7-k)])
list_lvds_d5_byte.append(list_lvds_d_5[i + 36 * (7-k)])
‘’’
##arith oprate################################################################################
list_lvds_nd0_byte_grey = []
for cnt_check in range(36):
for i_bit in range(8):
if i_bit == 0 :
list_lvds_nd0_byte_grey_tmp = 1 - list_lvds_nd0_byte[cnt_check][i_bit]
elif i_bit == 1 :
list_lvds_nd0_byte_grey_tmp = 1 - list_lvds_nd0_byte[cnt_check][i_bit]
elif i_bit == 2:
list_lvds_nd0_byte_grey_tmp = list_lvds_nd0_byte[cnt_check][i_bit] ^ list_lvds_nd0_byte[cnt_check][i_bit + 1]
elif i_bit == 3:
list_lvds_nd0_byte_grey_tmp = list_lvds_nd0_byte[cnt_check][i_bit] ^ list_lvds_nd0_byte[cnt_check][i_bit + 1]
elif i_bit == 4:
list_lvds_nd0_byte_grey_tmp = list_lvds_nd0_byte[cnt_check][i_bit] ^ list_lvds_nd0_byte[cnt_check][i_bit + 1]
elif i_bit == 5:
list_lvds_nd0_byte_grey_tmp = list_lvds_nd0_byte[cnt_check][i_bit] ^ list_lvds_nd0_byte[cnt_check][i_bit + 1]
elif i_bit == 6:
list_lvds_nd0_byte_grey_tmp = list_lvds_nd0_byte[cnt_check][i_bit] ^ list_lvds_nd0_byte[cnt_check][i_bit + 1]
elif i_bit == 7:
list_lvds_nd0_byte_grey_tmp = 1 - list_lvds_nd0_byte[cnt_check][i_bit]
list_lvds_nd0_byte_grey.append(list_lvds_nd0_byte_grey_tmp)
list_lvds_nd1_byte_grey = []
for cnt_check in range(36):
for i_bit in range(8):
if i_bit == 0 :
list_lvds_nd1_byte_grey_tmp = 1 - list_lvds_nd1_byte[cnt_check][i_bit]
elif i_bit == 1 :
list_lvds_nd1_byte_grey_tmp = 1 - list_lvds_nd1_byte[cnt_check][i_bit]
elif i_bit == 2:
list_lvds_nd1_byte_grey_tmp = list_lvds_nd1_byte[cnt_check][i_bit] ^ list_lvds_nd1_byte[cnt_check][i_bit + 1]
elif i_bit == 3:
list_lvds_nd1_byte_grey_tmp = list_lvds_nd1_byte[cnt_check][i_bit] ^ list_lvds_nd1_byte[cnt_check][i_bit + 1]
elif i_bit == 4:
list_lvds_nd1_byte_grey_tmp = list_lvds_nd1_byte[cnt_check][i_bit] ^ list_lvds_nd1_byte[cnt_check][i_bit + 1]
elif i_bit == 5:
list_lvds_nd1_byte_grey_tmp = list_lvds_nd1_byte[cnt_check][i_bit] ^ list_lvds_nd1_byte[cnt_check][i_bit + 1]
elif i_bit == 6:
list_lvds_nd1_byte_grey_tmp = list_lvds_nd1_byte[cnt_check][i_bit] ^ list_lvds_nd1_byte[cnt_check][i_bit + 1]
elif i_bit == 7:
list_lvds_nd1_byte_grey_tmp = 1 - list_lvds_nd1_byte[cnt_check][i_bit]
list_lvds_nd1_byte_grey.append(list_lvds_nd1_byte_grey_tmp)
list_lvds_nd2_byte_grey = []
for cnt_check in range(36):
for i_bit in range(8):
if i_bit == 0 :
list_lvds_nd2_byte_grey_tmp = 1 - list_lvds_nd2_byte[cnt_check][i_bit]
elif i_bit == 1 :
list_lvds_nd2_byte_grey_tmp = 1 - list_lvds_nd2_byte[cnt_check][i_bit]
elif i_bit == 2:
list_lvds_nd2_byte_grey_tmp = list_lvds_nd2_byte[cnt_check][i_bit] ^ list_lvds_nd2_byte[cnt_check][i_bit + 1]
elif i_bit == 3:
list_lvds_nd2_byte_grey_tmp = list_lvds_nd2_byte[cnt_check][i_bit] ^ list_lvds_nd2_byte[cnt_check][i_bit + 1]
elif i_bit == 4:
list_lvds_nd2_byte_grey_tmp = list_lvds_nd2_byte[cnt_check][i_bit] ^ list_lvds_nd2_byte[cnt_check][i_bit + 1]
elif i_bit == 5:
list_lvds_nd2_byte_grey_tmp = list_lvds_nd2_byte[cnt_check][i_bit] ^ list_lvds_nd2_byte[cnt_check][i_bit + 1]
elif i_bit == 6:
list_lvds_nd2_byte_grey_tmp = list_lvds_nd2_byte[cnt_check][i_bit] ^ list_lvds_nd2_byte[cnt_check][i_bit + 1]
elif i_bit == 7:
list_lvds_nd2_byte_grey_tmp = list_lvds_nd2_byte[cnt_check][i_bit]
list_lvds_nd2_byte_grey.append(list_lvds_nd2_byte_grey_tmp)
list_lvds_nd3_byte_grey = []
for cnt_check in range(36):
for i_bit in range(8):
if i_bit == 0 :
list_lvds_nd3_byte_grey_tmp = 1 - list_lvds_nd3_byte[cnt_check][i_bit]
elif i_bit == 1 :
list_lvds_nd3_byte_grey_tmp = 1 - list_lvds_nd3_byte[cnt_check][i_bit]
elif i_bit == 2:
list_lvds_nd3_byte_grey_tmp = list_lvds_nd3_byte[cnt_check][i_bit] ^ list_lvds_nd3_byte[cnt_check][i_bit + 1]
elif i_bit == 3:
list_lvds_nd3_byte_grey_tmp = list_lvds_nd3_byte[cnt_check][i_bit] ^ list_lvds_nd3_byte[cnt_check][i_bit + 1]
elif i_bit == 4:
list_lvds_nd3_byte_grey_tmp = list_lvds_nd3_byte[cnt_check][i_bit] ^ list_lvds_nd3_byte[cnt_check][i_bit + 1]
elif i_bit == 5:
list_lvds_nd3_byte_grey_tmp = list_lvds_nd3_byte[cnt_check][i_bit] ^ list_lvds_nd3_byte[cnt_check][i_bit + 1]
elif i_bit == 6:
list_lvds_nd3_byte_grey_tmp = list_lvds_nd3_byte[cnt_check][i_bit] ^ list_lvds_nd3_byte[cnt_check][i_bit + 1]
elif i_bit == 7:
list_lvds_nd3_byte_grey_tmp = list_lvds_nd3_byte[cnt_check][i_bit]
list_lvds_nd3_byte_grey.append(list_lvds_nd3_byte_grey_tmp)
list_lvds_nd4_byte_grey = []
for cnt_check in range(36):
for i_bit in range(8):
if i_bit == 0 :
list_lvds_nd4_byte_grey_tmp = 1 - list_lvds_nd4_byte[cnt_check][i_bit]
elif i_bit == 1 :
list_lvds_nd4_byte_grey_tmp = 1 - list_lvds_nd4_byte[cnt_check][i_bit]
elif i_bit == 2:
list_lvds_nd4_byte_grey_tmp = list_lvds_nd4_byte[cnt_check][i_bit] ^ list_lvds_nd4_byte[cnt_check][i_bit + 1]
elif i_bit == 3:
list_lvds_nd4_byte_grey_tmp = list_lvds_nd4_byte[cnt_check][i_bit] ^ list_lvds_nd4_byte[cnt_check][i_bit + 1]
elif i_bit == 4:
list_lvds_nd4_byte_grey_tmp = list_lvds_nd4_byte[cnt_check][i_bit] ^ list_lvds_nd4_byte[cnt_check][i_bit + 1]
elif i_bit == 5:
list_lvds_nd4_byte_grey_tmp = list_lvds_nd4_byte[cnt_check][i_bit] ^ list_lvds_nd4_byte[cnt_check][i_bit + 1]
elif i_bit == 6:
list_lvds_nd4_byte_grey_tmp = list_lvds_nd4_byte[cnt_check][i_bit] ^ list_lvds_nd4_byte[cnt_check][i_bit + 1]
elif i_bit == 7:
list_lvds_nd4_byte_grey_tmp = 1 - list_lvds_nd4_byte[cnt_check][i_bit]
list_lvds_nd4_byte_grey.append(list_lvds_nd4_byte_grey_tmp)
list_lvds_nd5_byte_grey = []
for cnt_check in range(36):
for i_bit in range(8):
if i_bit == 0 :
list_lvds_nd5_byte_grey_tmp = 1 - list_lvds_nd5_byte[cnt_check][i_bit]
elif i_bit == 1 :
list_lvds_nd5_byte_grey_tmp = 1 - list_lvds_nd5_byte[cnt_check][i_bit]
elif i_bit == 2:
list_lvds_nd5_byte_grey_tmp = list_lvds_nd5_byte[cnt_check][i_bit] ^ list_lvds_nd5_byte[cnt_check][i_bit + 1]
elif i_bit == 3:
list_lvds_nd5_byte_grey_tmp = list_lvds_nd5_byte[cnt_check][i_bit] ^ list_lvds_nd5_byte[cnt_check][i_bit + 1]
elif i_bit == 4:
list_lvds_nd5_byte_grey_tmp = list_lvds_nd5_byte[cnt_check][i_bit] ^ list_lvds_nd5_byte[cnt_check][i_bit + 1]
elif i_bit == 5:
list_lvds_nd5_byte_grey_tmp = list_lvds_nd5_byte[cnt_check][i_bit] ^ list_lvds_nd5_byte[cnt_check][i_bit + 1]
elif i_bit == 6:
list_lvds_nd5_byte_grey_tmp = list_lvds_nd5_byte[cnt_check][i_bit] ^ list_lvds_nd5_byte[cnt_check][i_bit + 1]
elif i_bit == 7:
list_lvds_nd5_byte_grey_tmp = 1 - list_lvds_nd5_byte[cnt_check][i_bit]
list_lvds_nd5_byte_grey.append(list_lvds_nd5_byte_grey_tmp)
‘’’
list_lvds_nd0_byte_grey[cnt_check][0] = list_lvds_nd0_byte[cnt_check][0]
list_lvds_nd0_byte_grey[cnt_check][1] = list_lvds_nd0_byte[cnt_check][0] ^ list_lvds_nd0_byte[cnt_check][1]
list_lvds_nd0_byte_grey[cnt_check][2] = list_lvds_nd0_byte[cnt_check][1] ^ list_lvds_nd0_byte[cnt_check][2]
list_lvds_nd0_byte_grey[cnt_check][3] = list_lvds_nd0_byte[cnt_check][2] ^ list_lvds_nd0_byte[cnt_check][3]
list_lvds_nd0_byte_grey[cnt_check][4] = list_lvds_nd0_byte[cnt_check][3] ^ list_lvds_nd0_byte[cnt_check][4]
list_lvds_nd0_byte_grey[cnt_check][5] = list_lvds_nd0_byte[cnt_check][4] ^ list_lvds_nd0_byte[cnt_check][5]
list_lvds_nd0_byte_grey[cnt_check][6] = list_lvds_nd0_byte[cnt_check][6]
list_lvds_nd0_byte_grey[cnt_check][7] = list_lvds_nd0_byte[cnt_check][7]
list_lvds_nd0_byte_grey.append(list_lvds_nd0_byte_grey[cnt_check][0],list_lvds_nd0_byte_grey[cnt_check][1],list_lvds_nd0_byte_grey[cnt_check][2],list_lvds_nd0_byte_grey[cnt_check][3],
list_lvds_nd0_byte_grey[cnt_check][4],list_lvds_nd0_byte_grey[cnt_check][5],list_lvds_nd0_byte_grey[cnt_check][6],list_lvds_nd0_byte_grey[cnt_check][7])
‘’’
for i in range(288):
if list_lvds_d0_byte[i] == list_lvds_nd0_byte_grey[i]:
print(“lvds_d0_pass”)
print(i)
else:
print(“lvds_d0_failed”)
print(i)
for i in range(288):
if list_lvds_d0_byte[i] == list_lvds_nd0_byte_grey[i]:
print(“lvds_d0_pass”)
print(i)
else:
print(“lvds_d0_failed”)
print(i)
for i in range(288):
if list_lvds_d1_byte[i] == list_lvds_nd1_byte_grey[i]:
print(“lvds_d1_pass”)
print(i)
else:
print(“lvds_d1_failed”)
print(i)
for i in range(288):
if list_lvds_d2_byte[i] == list_lvds_nd2_byte_grey[i]:
print(“lvds_d2_pass”)
print(i)
else:
print(“lvds_d2_failed”)
print(i)
for i in range(288):
if list_lvds_d3_byte[i] == list_lvds_nd3_byte_grey[i]:
print(“lvds_d3_pass”)
print(i)
else:
print(“lvds_d3_failed”)
print(i)
for i in range(288):
if list_lvds_d4_byte[i] == list_lvds_nd4_byte_grey[i]:
print(“lvds_d4_pass”)
print(i)
else:
print(“lvds_d4_failed”)
print(i)
for i in range(288):
if list_lvds_d5_byte[i] == list_lvds_nd5_byte_grey[i]:
print(“lvds_d5_pass”)
print(i)
else:
print(“lvds_d5_failed”)
print(i)
print(vol_in)
print(lvds_number)
print(“//3pair bus”)
print(list_lvds_0)
print(list_lvds_1)
print(list_lvds_2)
print(“//bus no grey mapping data byte”)
print(list_lvds_nd0_byte)
print(list_lvds_nd1_byte)
print(list_lvds_nd2_byte)
print(list_lvds_nd3_byte)
print(list_lvds_nd4_byte)
print(list_lvds_nd5_byte)
print(“//grey change arith”)
print (list_lvds_nd0_byte_grey)
print (list_lvds_nd1_byte_grey)
print (list_lvds_nd2_byte_grey)
print (list_lvds_nd3_byte_grey)
print (list_lvds_nd4_byte_grey)
print (list_lvds_nd5_byte_grey)
print(“//6lane data grey no maping bit data”)
print(list_lvds_d_0)
print(list_lvds_d_1)
print(list_lvds_d_2)
print(list_lvds_d_3)
print(list_lvds_d_4)
print(list_lvds_d_5)
print(“//6lane data grey maping byte data”)
print(list_lvds_d0_byte)
print(list_lvds_d1_byte)
print(list_lvds_d2_byte)
print(list_lvds_d3_byte)
print(list_lvds_d4_byte)
print(list_lvds_d5_byte)
print(vol_out)
#print(lvds_d_number)
print(“111111”)
‘’’
for cnt in range(36):
for i in range(8):
if list_lvds_0[i+cnt16] != list_lvds_d_0[i+cnt8] or list_lvds_0[(8+i)+cnt16] != list_lvds_d_3[i+cnt8]:
k=k+1
print()
print()
elif list_lvds_1[i+cnt16] != list_lvds_d_1[i+cnt8] or list_lvds_0[(8+i)+cnt16] != list_lvds_d_4[i+cnt8]:
k=k+1
elif list_lvds_2[i+cnt16] != list_lvds_d_2[i+cnt8] or list_lvds_0[(8+i)+cnt16] != list_lvds_d_5[i+cnt8]:
k=k+1
else:
k=k
print(cnt)
print(k)
if k==0:
print(“pass”)
else:
print(“failed”)
‘’’
总结:
python就是一个集成工具,不需要你懂很多,你只要知道你需要什么样的功能,就去问别人或者去查阅手册,看是否有相应的操作函数组合可以达到你的目的,上述功能基本使用了如下几个操作函数:
1.re.search() 函数查找条件,返回值是与之匹配的部分,并不是0/1
lvds_in = re.search(r’vlvp_(\d+)_(\d+)\s+=\s+([\d.]+)',line)
括号内正则表达式内容小记:每个小括号表示一种类字符的匹配,也是我们关注的提取部分,[ ]表示或的意思,+表示一个或者以上
2.group参数
*.group(0) 是返回值全部
*.group(1) 是返回值第一个参数
*.group(2) 是返回值第二个参数
…
…
3.列表操作函数append(),添加一个列表参数