将函数调用字符串解析为名称和参数

时间:2012-07-23 09:18:48

标签: c#

我正在尝试编写一个正则表达式来解析表示函数调用的字符串。我想解析:

createNewEmail(mailToJohn, recipientGeorge, Subject, content);

进入一个字符串数组: createNewMailmailToJohnrecipientGeorgeSubjectcontent

其他可能的输入可能是:

createNewEmail(mailToJohn, recipientGeorge, Subject, content);

makeTemplateUser(templateName, userName);

deleteEmail(emailToDelete);

updateUserSetting(userId, changedSettings, oldSettingsId);

你怎么建议我解析这个?

1 个答案:

答案 0 :(得分:2)

如果你的输入非常简单,你可以使用

line.Split(new[] { ' ', ',', '(', ')', ';' }, StringSplitOptions.RemoveEmptyEntries).Where(s => s.Length > 1).ToArray();

只要您的标识符(函数名称或参数)都不是单个字符长,它就会起作用;如果您需要处理这种情况,只需修改Where过滤器即可。这将返回一个数组,您可以将其插入更大的数组(或添加到列表等)。