如何解读这个正则表达式,感觉用我找的资料的解读方式解读不出来:
self.lstOfParameters = re.findall('\w*:=.+\([^)]*\)|'
'\w*:=\s?\[[^]]*\]|'
'\w*:=[^,)\n]*',
self.entityInTextForm
)
entityInTextForm的内容为:
CfgKinComposModel (
key:="AB_45_HEAD_C_TABLE",
subKinList:=[
"SK_TOOLCARRIER",
"SK_AB_45HEAD",
"SK_ZXY_BASE",
"SK_C_TABLE_MILL"
],
activeSpindle:="S1"
)
这个写的太复杂了,看我为您解析解析一下,我的好理解, 请采纳哦:
partern = '(\w+):=((?:\".*?\")|(?:\[.*?\]))'
lstOfParameters = re.findall(partern,entityInTextForm,re.S)
for params in lstOfParameters:
print(params)
结果如下:
正则表达式速查 正则表达式举例 正则表达式学习 (4页A4纸) http://download.csdn.net/detail/zhao4zhong1/1808549
\w*:=.+\([^)]*\)|\w*:=\s?\[[^]]*\]|\w*:=[^,)\n]*
正则表达式的解读,是需要按片段解读的
首先,分成三个片段,因为中间有 | ,这个表示或的意思
\w*:=.+\([^)]*\)
\w*:=\s?\[[^]]*\]
\w*:=[^,)\n]*
然后对每个片段,再次划分片段
\w*:=.+\([^)]*\)
\w*
:
=
.+
\(
[^)]* 感觉这里不太对,好像少了个转义?
\)
其中 *、+之类的表示长度,\表示转义,[] 表示字符集
解读到此结束,如果想自己解读,可以参考文章。https://blog.csdn.net/superwfei/article/details/51753127?spm=1001.2014.3001.5502.