C# 正则表达式获取不带匹配开始字符的匹配项

C# 正则表达式获取不带匹配开始字符的匹配项,c#,regex,C#,Regex,我有以下正则表达式: Regex regex = new Regex(@"@([\w\-]+)"); 它所做的是在SQL查询中查找参数的匹配项。例如,对于以下输入 select * from some_table where fieldA = @FieldA and fieldB = @FieldB 结果将是@FieldA和@FieldB 但我真正想要的只是“FieldA”和“FieldB”——没有@符号。这可能在正则表达式本身中实现还是仅在代码中实现?您可以使用查找,这样您的正则表达式就不

我有以下正则表达式:

Regex regex = new Regex(@"@([\w\-]+)");
它所做的是在SQL查询中查找参数的匹配项。例如,对于以下输入

select * from some_table where fieldA = @FieldA and fieldB = @FieldB
结果将是@FieldA和@FieldB


但我真正想要的只是“FieldA”和“FieldB”——没有@符号。这可能在正则表达式本身中实现还是仅在代码中实现?

您可以使用
查找
,这样您的正则表达式就不会捕获匹配组中的
@

Regex regex = new Regex(@"(?<=@)([\w-]+)");

Regex Regex=new Regex(@)(?打印组索引1或使用正向查找
@)(?)?