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



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

我如何使用标准的"查找"工具(Ctrl+Shift+F)从Visual Studio 2010?

遗憾的是,Visual Studio 2010的"查找文件"功能中的正则表达式搜索不兼容perl5。这个正则表达式模式将匹配x.x.x.x样式中指定的任何数字(例如:一个ipv4风格的地址):

[0-9]#.[0-9]#.[0-9]#.[0-9]#

根据文档,似乎没有一种方法可以指定模式必须重复 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]))

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

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

For Visual studio 2017这个正则表达式对我来说工作得很好:((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)

最新更新