我正在尝试在我的代码库中搜索以下模式的实例:
m_vParts[foo] =
以及具有不同空格的类似实例。所以我可以使用这个正则表达式:
m_vParts\[.*\]\s*=[^=]\s*
当我在http://gskinner.com/RegExr/和其他 regex-tester 类型的网站上测试它时,它找到了我想要的。但是,当我实际上grep
(或egrep
)我没有得到任何结果时。我的猜测是我的正则表达式对于正则表达式grep
的方言格式不正确,但我不确定我到底在哪里。
这是我给出的实际命令:
[e]grep -Irn "m_vParts\[.*\]\s*=[^=]\s*" .
我试过单引号和双引号。
这是代码库的示例代码的一小部分示例:
pcTab->m_vParts[iLastPart] = pcPart;
if ( m_pcCurrentTab->m_vParts[i]== pcPart )
我希望第一行是匹配的,而第二行不是。
另外,我应该注意我在 Windows 7 x64 上使用 GnuWin32 grep。
在此先感谢您的任何指导;非常想避免非自动搜索:)