正则表达式--解析窗体控件属性(对象属性)

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.”开头,紧接至少一个单词,其后除“;”任意字符若干,并且末尾是分号 的范围字符

正则表达式--解析窗体控件属性(对象属性)