正则表达式--解析窗体控件属性(对象属性)
1.需求
获取Form窗体中表控件及其属性。
2.需求分析
接到这个需求,首先考虑使用“反射”实现。但这里主程序(解析程序)为外部程序,被解析对象为项目代码,尝试采用过“动态加载类文件”+“反射”的形式实现,
但遇到了更加棘手的问题,以致功能交期愈加遥遥无期。遂采用“正则表达解析代码”,简单粗暴,以下为关键的正则表达式与大家分享解决思路。
3.解决方案
3.1.匹配DBGrid名字
(?<=private WBF\.Controls\.DBGrid\s+)\w*
“private WBF.Controls.DBGrid”开头,空格若干,最近的一个单词字符
3.2.匹配DBGrid所有属性
(this\.dbGrid1\.\w+[^;]*)(?=\;)
满足“this.dbGrid1.”开头,紧接至少一个单词,其后除“;”任意字符若干,并且末尾是分号 的范围字符