我在字符串变量
中有以下SQL示例语句INSERT INTO T_Application
(
ApplicationGroupId,
Name,
Component,
SubComponent,
Description
)
VALUES
(
@ApplicationGroupId,
@Name,
@Component,
@SubComponent,
@Description
)
SET @Id = SCOPE_IDENTITY()
我想要的是List<string>
中的所有参数名称(Id,ApplicationGroupId,Name,Component,SubComponent,Description)。
如何编写RegEx来提取所有参数名称?如果参数在一行中,,
之间的空格等
答案 0 :(得分:9)
Regex.Matches(sql, @"\@\w+").Cast<Match>().Select(m => m.Value).ToList ();
结果清单:
@ApplicationGroupId
@Name
@Component
@SubComponent
@Description
答案 1 :(得分:0)
你可以试试这个正则表达式:
\({0,1}\s*(\w*)\,
然后,您可以使用标记
获取匹配项答案 2 :(得分:0)
您可以使用以下正则表达式:
insert into[\s\S]+?\((?<parameter_names>([\s\S]+?))\)
您将获得名为“ parameter_names ”的组中的所有参数。