![](/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.