python正则快查
原文格式如
Title= " M= 8.00 A= 0.00 B= 0.00 G= 0.00 Re= 1.5899553E+02 Grid= temp.bgd "
Variables="X","Y","Z","NDim_Q","Dim_Q","ReCell","Yplus"
Zone T= " SolidSurface"
I= 15 ,J= 6 ,F=Block
1.4850697E+02 1.4844091E+02 1.4835989E+02 1.4828037E+02 1.4821106E+02
Zone T= " SolidSurface "
I= 11 ,J= 6 ,F=Block
1.4029446E+02 1.4020305E+02 1.4014370E+02 1.4012022E+02 1.4013405E+02
想要得到Variables的值,得到一个list,["X","Y","Z","NDim_Q","Dim_Q","ReCell","Yplus"]
。
1.获得Variables="X","Y","Z","NDim_Q","Dim_Q","ReCell","Yplus"
一行
patternVariableLine = re.compile(r"(Variables|VARIABLES|variables)=\s*\"(\w+)\"(,?\"(\w+)\")*")
variableMatchLineojb = patternVariableLine.search(content)
必须用search,用match返回None,因为match的模板必须从content的开头就匹配到。
2.获得变量。
if variableMatchLineojb:
variableLine = variableMatchLineojb.group()
vars = re.findall(r"\"(\w+)\"",variableLine,0)