我有以下正则表达式:
Regex regex = new Regex(@"@([\w\-]+)");
它的作用是在SQL查询中查找参数匹配。例如,对于以下输入
select * from some_table where fieldA = @FieldA and fieldB = @FieldB
结果将是@FieldA和@FieldB
但我真正想要的只是" FieldA"和" FieldB" - 没有@符号。这可能在正则表达式本身还是仅在代码中?
答案 0 :(得分:1)
您可以使用lookbehind
,以便正则表达式不会捕获匹配组中的@
:
Regex regex = new Regex(@"(?<=@)([\w-]+)");
此处(?<=@)
是一个积极的外观,可确保您的匹配前面有@