如何检索不遵循特定格式的所有表达式

时间:2015-05-03 07:27:06

标签: regex visual-studio-2013

我正在使用Visual Studio 2013,我需要搜索的所有return表达式,并将其格式设置为括号:

return (SomeObject);

例如,我需要找到这样的语句:

return objItem;

我尝试使用以下内容作为启用“使用正则表达式”的搜索表达式,但它找不到它们:

return (?!()

有人可以解释为什么这不起作用和/或建议改进/替代我的正则表达式吗?

2 个答案:

答案 0 :(得分:1)

您的正则表达式return (?!()无效,因为(符号必须在负反馈(?!\()内转义。但是,这只会匹配return

如果您需要捕获所有"返回" s后面没有括号,您可以使用

\s*return\s+[^()]+;

或者,您可以使用负面预测检查后面没有xxx (yyy)字符串:

(?!return\s*\([^)]+?\)\s*;)\s*return\s+[^;]+;

请参阅demo

答案 1 :(得分:0)

我认为这就是你想要的:

return [^(].*;

这会找到如下行:

return something;
return func(x);

但不是

return (foo);

请参阅demo