使用正则表达式筛选源代码树以查找函数调用的出现

时间:2012-05-22 17:47:58

标签: regex negative-lookbehind

我不是在VS2010中打开一堆解决方案文件,然后搜索函数调用的出现/引用,而是使用正则表达式grep。我可以在两次传递中执行此操作 - 首先为所有出现的MyFunction()执行grep,然后删除所有出现在注释掉的行上的注意事项(注意:我意识到这不会处理块注释,并且现在还可以。)

我想知道是否有更好的方法来做,regular-expressions.info有一个关于正面和负面的前瞻和外观的有趣教程。

使用我最喜欢的在线regex evaluator,我解决了以下问题:

  // foo.MyFunction()
foo.MyFunction();
    foo.MyFunction()
//foo.MyFunction()
// { foo.MyFunction(); }
但悲惨地失败了。我甚至不确定我正在尝试做的是否有可能带有负面的外观。这是我认为可行的方法:

(?<!//.*)MyFunction\(\)

但它不匹配......有人可以在这里启发我吗?

1 个答案:

答案 0 :(得分:0)

做了几次相同的事情

MyFunction\(\)(?<!.*//.*)

Online Regex Tester