使用Visual Studio 2010"在文件中查找"实用程序(Ctrl + Shift + F)查找硬编码的IP地址

Sun*_*nil 1 ip-address visual-studio-2010

我需要在一些Visual Studio 2010解决方案中找到所有硬编码的IP地址.

如何使用Visual Studio 2010中的标准"查找"实用程序(Ctrl + Shift + F)执行此操作?

Jez*_*Jez 7

不幸的是,Visual Studio 2010中的"查找文件"功能中的正则表达式搜索与Perl5不兼容.此正则表达式模式将匹配x.x.x.x样式中指定的任何数字(即IPv4样式的地址):

[0-9]#\.[0-9]#\.[0-9]#\.[0-9]#
Run Code Online (Sandbox Code Playgroud)

根据文档,它看起来没有办法指定一个模式必须重复1到3次,这是你真正想要的IPv4风格的八位字节,所以上面的模式也将匹配版本号,如2.0.20505.0.

但是,您可以将八位字节中的位数限制为3,方法是将它们明确指定为单独的组,尽管它非常详细:

([0-9]|([0-9][0-9])|([0-9][0-9][0-9]))\.([0-9]|([0-9][0-9])|([0-9][0-9][0-9]))\.([0-9]|([0-9][0-9])|([0-9][0-9][0-9]))\.([0-9]|([0-9][0-9])|([0-9][0-9][0-9]))
Run Code Online (Sandbox Code Playgroud)

这仍然会匹配版本号的每个"部分"的3位或更少位数4.0.0.0,但它也会匹配IPv4地址11.2.123.21.

编写IPv6地址的格式比IPv4更灵活,虽然它可能与Visual Studio 2010正则表达式相匹配,但它会非常复杂.:-)