Visual studio正则表达式模式不起作用:^.*Foo[^.,]\(+.*$



我有以下几行代码,

int Foo(char);
int Foo()
{
//do something
}
int FooBar(char, char);
foo.Get();
fooBar.Get();
m_FooBar.Get();
case foo:
fooBar(x,y);

我只想搜索具有"Foo"名称的函数引用、声明和定义。结果中只显示上述四条线

  1. int Foo(char(
  2. int Foo((
  3. int FooBar(char,char(
  4. fooBar(x,y(

我试过

^.*Foo[^.,](+.*$

但它也选择了案例Foo:

这个正则表达式有什么问题?

您可以使用

^.*Foow*(+.*$

请确保不区分大小写,如此regex演示中所示。[^.,]部分是一个否定字符类,它匹配任何不是点和逗号的字符,它可能匹配换行字符。使用w时,只能匹配[A-Za-z0-9_]个字符。

详细信息

  • ^-字符串的开头(文本编辑器中的行(
  • .*-除换行符之外的任何0+个字符,尽可能多
  • Foo-一个Foo
  • w*-0个或多个字母、数字、_s
  • (+-1个或多个(字符
  • .*-除换行符之外的任何0+个字符,尽可能多
  • $-字符串结尾(文本编辑器中的行(

最新更新