![](/img/trans.png)
[英]Get Parameters Type and no. of parameters for a function in Visual Studio Editor (C#)
[英]Regex: Get separate parameters and parameter type of the CPP function (c#)
我对正则表达式了解不多,如何获取变量和变量的类型?
示例源文本:
func (int arg1, float *arg2, float *arg3)
func2 (const char * name, int arg1, int arg2, int arg3, void * mem)
正则表达式示例
(\\(.*?)\\)
—一次所有变量,但是如何分别获得它们?
\\((.*?),(.*?),(.*?)\\)
int arg1
float *arg2
float *arg3
,但可能有3个以上的选择...而且我需要分别获取类型和参数。
您应该自己获取Antlr的副本:
如果您试图解析C / C ++头文件,那么它不只是函数声明。 特别是如果是C ++。
Antlr也非常适合执行您似乎在谈论的部分解析和转换。 除此之外,您还可以免费获得C语法 ,这可能足以满足您的需要(但我不会指望它)。
也获取Terrance Parr的书:
如果您坚持使用正则表达式并假定函数签名不会变得非常复杂,则可以针对所有var_type var对进行循环,如下所示while(s/(.*?) (\\S+),//)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.